* 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
* 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.
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>
* 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>
* Add note to confirm automated tax settings
* add back automated_tax_is_supported function
* Trigger CI
Co-authored-by: Rebecca Scott <me@becdetat.com>
* 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>
* 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>
* 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>
This commit modifies the connection check for the note 'wc-admin-wc-helper-connection'
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.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>
* 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>
* 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.
* 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>
* 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>
* 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>
* Add Insight note
* Change actioned_label to actioned_text
* Move actioned text up a level
* Fix comment
* Rename insight class
* Add deny action to insight first sale and fix the button actions
* fix spacing
* Tweak conditions in the inbox card
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Handle new object for posts and recommendations
* Set breadcrumb parent for woocommerce-coupons to be woocommerce-marketing
* Add main coupon wrapping component
* Render coupon wrapper element below coupon table using wp-admin-scripts
* Finish off implementing category param for data store resolvers
* Create a helper trait for legacy coupons
* Add coupon related titles and descriptions
* Add note for the coupons being moved
* Allow for querying by note name in the notes Data Store
* Revamp coupon moved trait
* Add the new note only if we don't have an unactioned note and perform a redirect to ensure menu updates
* set_icon is deprecated
* Move coupon menu, adding a note for customers
* Translate title and descriptions
* Whitespace
* Account for coupon functionality being disabled
* Hide legacy menu before redirect
* Don’t keep adding the note if customer dismisses it from inbox
* Move behind feature flag
* Add note if feature enabled
* Add filter to override coupon feature
* Tweak option name to refer to wc_admin
To help with finding etc.
* use css variables
* Add the new note only if we don't have an unactioned note
* Switch the filter logic so `false` turns off the feature
This is a bit more intuitive when utilizing the filter
* Remove extraneous string and add trailing new lines
* Use correct posts object in tests
* Revert accidental removal of where_types
* Add coupons category to RecommendedExtensions
* Use 1.1 api to get categorized recommendations
* Add missing text domains
* Fix menu handling to point to woocommerce-marketing
* Only load coupon scripts on the coupon page
* Rework marketing menu logic to register pages more properly
* Use correct wc-admin path for marketing page
* Remove separate feature flag
WC Admin has existing feature flags to load enable/disable the feature
* Only set the coupon parent to marketing when the feature is enabled
* Only load coupon feature if marketing feature is enabled
Co-authored-by: Dan Bitzer <danielbitzer@gmail.com>
Co-authored-by: Jeremy Pry <jeremy.pry@gmail.com>
* Fix comment and convert if..elseif to switch
* Take out intermediate function
* make ProductsProvider a non-static class
* Adds RINDS data rule, and set up for woocommerce/woocommerce-admin#4223
# Conflicts:
# src/RemoteInboxNotifications/EvaluateAndGetStatus.php
* Fix rebase issues
# Conflicts:
# src/RemoteInboxNotifications/DataRuleProcessor.php
* Split product data setup out, use product query
# Conflicts:
# src/RemoteInboxNotifications/RemoteInboxNotificationsEngine.php
* Remove RINDS references
* Remove unused products provider
* Add validation to the data rule processor
* Fix some issues that were failing tests
* Remove unused var
* Make data setup for products return the data object
* Rework product query
* Rename $data to $stored_state
* Fix condition in query
* Add time after wcadmin activation rule (https://github.com/woocommerce/woocommerce-admin/pull/4337)
* Add wcadmin active for rule
# Conflicts:
# src/RemoteInboxNotifications/GetRuleProcessor.php
* Use DAY_IN_SECONDS constant
* Fix logic error
* Fix test naming
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add order count rule (https://github.com/woocommerce/woocommerce-admin/pull/4335)
* Order count rule
# Conflicts:
# src/RemoteInboxNotifications/GetRuleProcessor.php
* Use default provider
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Use correct 'return' value
* Move back to using a SQL query to get the product count
as the WC_Product_Query has issues during the product publish lifecycle. The product is initially published with a taxonomy term of uncategorized which isn't accepted by the query's filter.
* Change back to using WC_Product_Query, and do prelim init via admin_init action
* If there are no specs when running the engine, run the poller first then retry
* Fix some failing tests
* Don't perform init if we're feature toggled off
* Move feature check inside RIN engine class because the feature filter isn't ready during FeaturePlugin init
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Added new notification to choose a niche
This commit adds a new notification to choose a niche
# Conflicts:
# src/Events.php
* Bugfix: removed wrong validation
* Added validation for onboarding_profile
This commits adds a validation to confirm that the onboarding_profile is set.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add Learn more about Product Settings note
* Fix logic around new merchants vs existing, fix product count
* Refactor to use admin_init action, use WC_Product_Query
* Don't try to count products when recording added product date
* Rename function
* Completely drop recording product add times and just use oldest product date instead
* Remove onboarding update check, checking the profile is sufficient
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Added new notification to ask about starting a dropshipping business.
This commit adds a new notification to ask the client if they are considering starting a dropshipping business.
* Bugfix: corrected some problems in this note's logic
This commit adds a new validation for onboarding_profile, it removes an incorrect validation and changes the action's name
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Poll and persist specs
* Process specs into admin notes
* Add send at time rule processor
* Fix style issues
* Clear actions before recreating them to avoid dupes
* Trigger the RINDS engine when a plugin is activated
* Unit test SendAtTimeRuleProcessor
* Implement plugins activated rule processor
* Don't throw exception for unrecognised rule type. Also unit test around this.
* add url_is_action_query to tell whether to wrap the URL in wc_admin_url() call or not
* Add NOT rule
* revert change to install.php
* Drop unimplemented resend after dismissal rule
* Add OR rule
* Explicitly make "fail" a type of rule that can be applied to a spec
* Add plugin version rule processor
* Tidy up, don't need to pass $spec everywhere
* Remove meta record for action state - not really needed
* Move spec runner into it's own class, add some checks around re-unactioning a note
* Replace if..else with switch
* Just update the option
* Check that the JSON coming in is an array
* Change OR rule to accept an array of operands
* Add Pass rule processor
* Fix specs that are initially not published
* Rename send at rule to publish after
* Add publish before rule
* Remove unused interface
* Can't use PHP7's anonymous classes
* New notification: How to draw attention to your online store
* Add feature flag for rule-base inbox notes
* rename everything to RemoteInboxNotifications from RINDS
* Fix merge fail
* fix test
* Change preunactioned to pending
* Move feature flag check into Events.php
* Refactor reading a data source
* Rename poll_data_sources function
* Refactor EvaluateAndGetStatus::evaluate to take the rule evaluator directly
* Check that the response body exists
* Add validation and defensive checks
* Add rule processor interface
* Update note created time on status change
* Move non-test dependencies into processor constructors
* Update to proposed live URL
* Remove setting icon as it's being deprecated
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Inbox notification: Added layout changes (https://github.com/woocommerce/woocommerce-admin/pull/4256)
* Added notes layout and image to the API
Added note layout and note image to the API and the DB
* Unit test modified
Unit test where modified to adapt them to the new elements
* Changed the frontend following the new designs.
The fronted was changed to follow the new inbox messages design.
* Changed default layout type in DB
* Added all the requested visual element
Changed the cards' js, css and actions to achieve the visual requirements
* Added "layout" and "image" to inboxQuery
* Modal confirmation buttons repaired
* Added "layout" and "image" to docs examples.
* Removed "updateNote" from action.js
Removed "updateNote" from action.js, I left it by mistake.
* Spelling error corrected
The button text "Dismiss all message" was corrected
* noteName removed and icon added to make code reviewing easier
This commit removes the "noteName" from card.js and adds the icon to make code reviewing easier
* Dismiss action button refactor
Refactor of the dismiss action button in the InboxNoteCard class
* Removed unnecessary control
* Destructured all the note properties
* Colors replaced by existing variable
* Removed setting of layout and image in the creation of the notes
* Removed blank lines added by mistake
* Close dismiss dropdown when clicking away from the popover.
* Prevented the closing of the inbox panel with an action in the modal
* Added small design changes
* Removed unused "Gridicon" import
* Prevent showing the image tag when the layout is blank
* The method name getDismissButton was changed to getDismissConfirmationButton
* Removed unnecessary vendor-prefixed properties
* Improved note filtering in unreadNotes method
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Inbox notification: Remove icons (https://github.com/woocommerce/woocommerce-admin/pull/4258)
* Info icon removed from inbox notifications
The info icon was removed from inbox notifications
# Conflicts:
# src/Notes/DataStore.php
* Removed "icon" from inboxQuery
* Tests repeared
Some problems with the unit tests were repaired in this commit
# Conflicts:
# docs/examples/activity-panel-inbox.md
# Conflicts:
# tests/api/admin-notes.php
* Removed icon from card.js
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Inbox notification: Add dismiss functionality (https://github.com/woocommerce/woocommerce-admin/pull/4262)
* Added is_deleted param to soft delete
# Conflicts:
# src/API/Notes.php
# src/Install.php
# src/Notes/DataStore.php
# src/Notes/WC_Admin_Note.php
# src/Notes/WC_Admin_Notes.php
# tests/api/admin-notes.php
* Added the Dismiss functionality
# Conflicts:
# client/header/activity-panel/panels/inbox/action.js
* Where clause repeared
* Added Snackbar after action.
* API modified to dismiss notes
* Small refactor in "get_item" method
This commit adds a small refactor in "get_item" method to use "prepare_note_data_for_response"
* Added missing logic to Dismiss note
This commit adds missing client logic to Dismiss note.
# Conflicts:
# client/header/activity-panel/panels/inbox/action.js
# client/header/activity-panel/panels/inbox/card.js
* Moved the delete action to WC_Admin_Notes.php
The delete action was moved to WC_Admin_Notes.php to follow the pattern.
* Added changes to dismiss messages
This commit addeds changes to the messages soft delete.
* DataStore.php repaired
This commits adds some code that was deleted by mistake and the param "is_deleted" has been escaped.
* Spelling error corrected
The button text "Dismiss all message" was corrected
* Repaired "get_notes_where_clauses" method
A problem with the deleted notes was repaired
* Added a comment to DataStore.php
* Stopped sending the "dismissType" to action.js
The "dismissType" is not sent to action.js anymore.
* Bugfix: now the method get_notes_with_name also returns deleted notes
* Bugfix: repaired empty notification list
This commit repairs a bug that happens when there isn't anything in the inbox notification list
* Small refactor to not use "some" Lodash method anymore
* Small refactor in rednderNotes method
* Added check to set_layout
* Added small refactor to delete_all_notes method
* Fixed code comment error
* Bugfix: repaired the "delete_note" call
* Inbox notification: Added layout changes (https://github.com/woocommerce/woocommerce-admin/pull/4256)
* Added notes layout and image to the API
Added note layout and note image to the API and the DB
* Unit test modified
Unit test where modified to adapt them to the new elements
* Changed the frontend following the new designs.
The fronted was changed to follow the new inbox messages design.
* Changed default layout type in DB
* Added all the requested visual element
Changed the cards' js, css and actions to achieve the visual requirements
* Added "layout" and "image" to inboxQuery
* Modal confirmation buttons repaired
* Added "layout" and "image" to docs examples.
* Removed "updateNote" from action.js
Removed "updateNote" from action.js, I left it by mistake.
* Spelling error corrected
The button text "Dismiss all message" was corrected
* noteName removed and icon added to make code reviewing easier
This commit removes the "noteName" from card.js and adds the icon to make code reviewing easier
* Dismiss action button refactor
Refactor of the dismiss action button in the InboxNoteCard class
* Removed unnecessary control
* Destructured all the note properties
* Colors replaced by existing variable
* Removed setting of layout and image in the creation of the notes
* Removed blank lines added by mistake
* Close dismiss dropdown when clicking away from the popover.
* Prevented the closing of the inbox panel with an action in the modal
* Added small design changes
* Removed unused "Gridicon" import
* Prevent showing the image tag when the layout is blank
* The method name getDismissButton was changed to getDismissConfirmationButton
* Removed unnecessary vendor-prefixed properties
* Improved note filtering in unreadNotes method
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Inbox notification: Remove icons (https://github.com/woocommerce/woocommerce-admin/pull/4258)
* Info icon removed from inbox notifications
The info icon was removed from inbox notifications
# Conflicts:
# src/Notes/DataStore.php
* Removed "icon" from inboxQuery
* Tests repeared
Some problems with the unit tests were repaired in this commit
# Conflicts:
# docs/examples/activity-panel-inbox.md
# Conflicts:
# tests/api/admin-notes.php
* Removed icon from card.js
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Improved error handling for the set_layout method
* Bugfix: fixed error handling clicks inside dropdowns
* Bugfix: repaired dropdown onBlur handler
This commit repairs a weird behavior that the dropdown onBlur handler method had sometimes.
* Text error changed
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Inbox notification: Add undo snackbar button after deletion (https://github.com/woocommerce/woocommerce-admin/pull/4281)
* Added undo snakbar button for a single note
# Conflicts:
# client/wc-api/notes/mutations.js
# src/Notes/DataStore.php
# src/Notes/WC_Admin_Notes.php
* Added a button to undo the deletion of all notes
# Conflicts:
# client/wc-api/notes/operations.js
# src/API/Notes.php
* Code adapted to make code reviewing easier
There was some code that also was present in another PR, that code was removed to make code reviewing easier.
* UnitTest added
This commit adds some unit tests
* Added verification for API response
* Added casting to $note_id
* Inbox notification: Added layout changes (https://github.com/woocommerce/woocommerce-admin/pull/4256)
* Added notes layout and image to the API
Added note layout and note image to the API and the DB
* Unit test modified
Unit test where modified to adapt them to the new elements
* Changed the frontend following the new designs.
The fronted was changed to follow the new inbox messages design.
* Changed default layout type in DB
* Added all the requested visual element
Changed the cards' js, css and actions to achieve the visual requirements
* Added "layout" and "image" to inboxQuery
* Modal confirmation buttons repaired
* Added "layout" and "image" to docs examples.
* Removed "updateNote" from action.js
Removed "updateNote" from action.js, I left it by mistake.
* Spelling error corrected
The button text "Dismiss all message" was corrected
* noteName removed and icon added to make code reviewing easier
This commit removes the "noteName" from card.js and adds the icon to make code reviewing easier
* Dismiss action button refactor
Refactor of the dismiss action button in the InboxNoteCard class
* Removed unnecessary control
* Destructured all the note properties
* Colors replaced by existing variable
* Removed setting of layout and image in the creation of the notes
* Removed blank lines added by mistake
* Close dismiss dropdown when clicking away from the popover.
* Prevented the closing of the inbox panel with an action in the modal
* Added small design changes
* Removed unused "Gridicon" import
* Prevent showing the image tag when the layout is blank
* The method name getDismissButton was changed to getDismissConfirmationButton
* Removed unnecessary vendor-prefixed properties
* Improved note filtering in unreadNotes method
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Inbox notification: Remove icons (https://github.com/woocommerce/woocommerce-admin/pull/4258)
* Info icon removed from inbox notifications
The info icon was removed from inbox notifications
# Conflicts:
# src/Notes/DataStore.php
* Removed "icon" from inboxQuery
* Tests repeared
Some problems with the unit tests were repaired in this commit
# Conflicts:
# docs/examples/activity-panel-inbox.md
# Conflicts:
# tests/api/admin-notes.php
* Removed icon from card.js
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Inbox notification: Add dismiss functionality (https://github.com/woocommerce/woocommerce-admin/pull/4262)
* Added is_deleted param to soft delete
# Conflicts:
# src/API/Notes.php
# src/Install.php
# src/Notes/DataStore.php
# src/Notes/WC_Admin_Note.php
# src/Notes/WC_Admin_Notes.php
# tests/api/admin-notes.php
* Added the Dismiss functionality
# Conflicts:
# client/header/activity-panel/panels/inbox/action.js
* Where clause repeared
* Added Snackbar after action.
* API modified to dismiss notes
* Small refactor in "get_item" method
This commit adds a small refactor in "get_item" method to use "prepare_note_data_for_response"
* Added missing logic to Dismiss note
This commit adds missing client logic to Dismiss note.
# Conflicts:
# client/header/activity-panel/panels/inbox/action.js
# client/header/activity-panel/panels/inbox/card.js
* Moved the delete action to WC_Admin_Notes.php
The delete action was moved to WC_Admin_Notes.php to follow the pattern.
* Added changes to dismiss messages
This commit addeds changes to the messages soft delete.
* DataStore.php repaired
This commits adds some code that was deleted by mistake and the param "is_deleted" has been escaped.
* Spelling error corrected
The button text "Dismiss all message" was corrected
* Repaired "get_notes_where_clauses" method
A problem with the deleted notes was repaired
* Added a comment to DataStore.php
* Stopped sending the "dismissType" to action.js
The "dismissType" is not sent to action.js anymore.
* Bugfix: now the method get_notes_with_name also returns deleted notes
* Bugfix: repaired empty notification list
This commit repairs a bug that happens when there isn't anything in the inbox notification list
* Small refactor to not use "some" Lodash method anymore
* Small refactor in rednderNotes method
* Added check to set_layout
* Added small refactor to delete_all_notes method
* Fixed code comment error
* Bugfix: repaired the "delete_note" call
* Inbox notification: Added layout changes (https://github.com/woocommerce/woocommerce-admin/pull/4256)
* Added notes layout and image to the API
Added note layout and note image to the API and the DB
* Unit test modified
Unit test where modified to adapt them to the new elements
* Changed the frontend following the new designs.
The fronted was changed to follow the new inbox messages design.
* Changed default layout type in DB
* Added all the requested visual element
Changed the cards' js, css and actions to achieve the visual requirements
* Added "layout" and "image" to inboxQuery
* Modal confirmation buttons repaired
* Added "layout" and "image" to docs examples.
* Removed "updateNote" from action.js
Removed "updateNote" from action.js, I left it by mistake.
* Spelling error corrected
The button text "Dismiss all message" was corrected
* noteName removed and icon added to make code reviewing easier
This commit removes the "noteName" from card.js and adds the icon to make code reviewing easier
* Dismiss action button refactor
Refactor of the dismiss action button in the InboxNoteCard class
* Removed unnecessary control
* Destructured all the note properties
* Colors replaced by existing variable
* Removed setting of layout and image in the creation of the notes
* Removed blank lines added by mistake
* Close dismiss dropdown when clicking away from the popover.
* Prevented the closing of the inbox panel with an action in the modal
* Added small design changes
* Removed unused "Gridicon" import
* Prevent showing the image tag when the layout is blank
* The method name getDismissButton was changed to getDismissConfirmationButton
* Removed unnecessary vendor-prefixed properties
* Improved note filtering in unreadNotes method
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/header/activity-panel/panels/inbox/style.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Inbox notification: Remove icons (https://github.com/woocommerce/woocommerce-admin/pull/4258)
* Info icon removed from inbox notifications
The info icon was removed from inbox notifications
# Conflicts:
# src/Notes/DataStore.php
* Removed "icon" from inboxQuery
* Tests repeared
Some problems with the unit tests were repaired in this commit
# Conflicts:
# docs/examples/activity-panel-inbox.md
# Conflicts:
# tests/api/admin-notes.php
* Removed icon from card.js
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Improved error handling for the set_layout method
* Bugfix: fixed error handling clicks inside dropdowns
* Bugfix: repaired dropdown onBlur handler
This commit repairs a weird behavior that the dropdown onBlur handler method had sometimes.
* Text error changed
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Stopped sending the "dismissType" to action.js
The "dismissType" is not sent to action.js anymore.
# Conflicts:
# client/header/activity-panel/panels/inbox/card.js
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Bugfix: solved problem when a note was undismissed
There was a problem with the undismiss functionality. When a note was undismissed, it always was recovered with "plain" layout. This commit solves this problem.
* Inbox notification: add event recording (https://github.com/woocommerce/woocommerce-admin/pull/4320)
* Added events recording
This commit adds events recording to the inbox notifications
# Conflicts:
# client/header/activity-panel/panels/inbox/index.js
* Added 'home_screen' verification
Changed recorded name, now when the client is in the WooCommerce 'home' page we record 'home_screen' instead of 'wc-admin'.
* Added a naming fix and a new prop to the recordEvent
* bugfix: added control before interaction with bodyNotificationRef
* Added more unit tests for new endpoints
This commit adds tests for deleting a single note and for deleting all the notes, both without permission.
* Modified variable name
* Refactor: prop rename and small logic change
* Screen name getter moved into the InboxNoteCard
This commit moves the screen name getter inside the InboxNoteCard.
# Conflicts:
# client/header/activity-panel/panels/inbox/index.js
* Removed "screen" from state
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Refactor in admin-notes unit tests
Some unnecessary controls were removed from the admin-notes unit tests
* Indentation fixed in Install.php. Replaced spaces with tabs.
* Inbox notification: added new placeholder and empty card (https://github.com/woocommerce/woocommerce-admin/pull/4379)
* Added a new placeholder and an empty card
This commit adds a new placeholder and a new empty card to the inbox panel
# Conflicts:
# client/header/activity-panel/panels/inbox/index.js
# client/header/activity-panel/panels/inbox/style.scss
* Added border to read notes
* Improved note filtering in unreadNotes method and validNotes
# Conflicts:
# client/header/activity-panel/panels/inbox/index.js
* Actions render refactored
The actions render was refactored in InboxNoteCard component
* Refactor of InboxPanel component
The methods getUnreadNotesCount and hasValidNotes were separated from the InboxPanel component
# Conflicts:
# client/header/activity-panel/panels/inbox/index.js
* Refactor inbox panel subtitle classes
* Added changes for when a note is undismissed
This commit adds the requested changes in behavior and design for when a note is dismissed.
# Conflicts:
# client/header/activity-panel/panels/inbox/index.js
* Bugfix: Added key to itemlist
The InboxNotePlaceholder is shown as an itemlist but it didn't have a key. This commit adds it.
* Removed unnecessary validation
* Refactored actionList map
This commit adds a refactor to the actionList map
* Changes to the getUndoDismissRequesting functionality
This commit adds a few changes to the getUndoDismissRequesting functionality
* Changed className prop
* Changed other className prop
* Modified InboxPanel rendering
* Removed unnecessary method in placeholder.js
* Simplified the card.js renderActions method
* Change renderActions return in card.js
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Inbox notification: add client unit tests (https://github.com/woocommerce/woocommerce-admin/pull/4386)
* Added client unit tests
* Added test cases for getUnreadNotesCount and hasValidNotes
* Corrected typo error
* Removed Enzyme and added React Testing Library
* Removed unnecessary param
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Resolved some conflicts with master
* Marketing note test repaired
This commit repairs the marketing note test
* Added note type 'marketing' to delete all functionality
* Removed set_icon method from some notes and docs
* Added set_icon method as deprecated to prevent errors.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Added new notification to ask about migrating from Shopify.
This commit adds a new notification to ask the client if they want to migrate from Shopify to WooCommerce.
* Modified action's name
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add note traits to check for existence and generic conditions
* Add new note type for marketing notes
* Delete marketing notes when opted out
* Add tests for marketing notes
* New notification: How to draw attention to your online store
# Conflicts:
# src/FeaturePlugin.php
* Get the option from the arguments
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Remove welcome note
* Remove store notice setting note
* Remove review your experience note
* Add tests for delete_notes_with_name
* Add filter support so that other code can add notes to be deleted on upgrade.
* Save payment skipped and event timestamp to options
* Add payments note
* Convert payments task timestamp to seconds
* Skip payments note if skip timestamp is not set
* Changed email marketing note and the old filter was removed
The email marketing note was modified. Also, the old filter was removed.
* This note is not using NoteTraits anymore.
The NoteTraits reference was removed because the note is not using it anymore.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Plugins DataStore: decouple from onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4048)
* Plugins DataStore: Add client side store
* change active_plugins to public static function
* don't change shape of allowed plugins
* woocommerce/woocommerce-admin#3793 create admin note if Jetpack plugin doesn't work during OBW
* Move slug logic into the note creator class
* Also allow WooCommerce Services plugin when creating note
* rename possibly_add
* Rename note service class for jetpack/woocommerce services
* Remove (by actioning) notes when the Jetpack or WooCommerce Services plugins are activated
* Add todo around using a filter to make onboarding plugin API more generic
* Create admin note if activation fails
* Fix callback, don't know how that got through...
* Install from the note using a callback fn rather than redirecting back to the OBW
* Remove .orig file
* Move WC_Admin_Notes_Filters action hooks into WC_Admin_Notes_Install_Jetpack_And_WooCommerce_Services_Plugin
* Remove return values from plugin install function
* Simplify how plugin installation triggers actioning the note
* Use better icon in Jetpack/WooCommerce Services note
* Add space to note copy
* Shorten some names
* Only action the note if both plugins are activated
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add WC Pay to allowed plugins
* Add WC Pay Note to Inbox
* Don't update WC Pay note content
Actioned notes are hidden from the Inbox it turns out, so there's
no need to update the content to reflect that the WC Pay plugin
has been installed.
* Add WC pay note only after April 14
Instead of only adding the Install Now button in April. Only
add the note so that the Install now button is always available
and generally, the note is more useful and actionable because
the plugin is actually available.
* Fix WC Pay note install action
* Check if WC Pay is active or installed
Not just if the plugin files are available. This addresses both the
case where the plugin may be active an in a different folder name,
and where the plugin may have been installed but is not active,
likely because it's been deactivated.
* Added note to Personalize Store
Added note to Personalize Store, 5 days after registration or when the user completes the task list.
* Lint repeared
Lint error repeared.
* Moved homepage_id < 0 check to OnboardingTasks.php
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Before 0.10.0 notes had a default content_data of array(). If stored in the database, these notes would be unable to be loaded. This adds some resiliency to the loading so that invalid content_data fields don't break WC_Admin_Note::set_content_data().
Co-authored-by: Christopher Allford <christopher.allford@automattic.com>
* remove replace_actionscheduler_store_class function from master
* remove AS store class file
* reuse variable
* Fix test helper queue action cancellation for AS 2.x.x.
* Remove WPPostStore logic from SchedulerTraits.
* Remove dead queue code from WC_Admin_Notes.
Missed in https://github.com/woocommerce/woocommerce-admin/pull/3662.
Co-authored-by: Paul Sealock <psealock@gmail.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Try: Moving Customers to main Woo Menu (https://github.com/woocommerce/woocommerce-admin/pull/3632)
* Only add onboarding settings on wc-admin pages when task list should be shown. (https://github.com/woocommerce/woocommerce-admin/pull/3722)
* Use cron for unsnoozing admin notes (https://github.com/woocommerce/woocommerce-admin/pull/3662)
* Use wp-cron for admin note snoozing.
* Remove "unsnooze" scheduled action.
* Use correct version.
* Avoid using deprecated method for unscheduling actions.
* Onboarding: Fix toggle tracking events (https://github.com/woocommerce/woocommerce-admin/pull/3645)
* Fix errant wcadmin prefix on event name
* Track the onboarding toggle on the option in case enable_onboarding isn't used
* Move toggle actions to separate function
* Move onboarding actions
* Move onboarding filters
* Move help tab updates to add_toggle_actions
* Only run onboarding actions when enabled
* Onboarding: Add tracks events when profiler steps are completed (https://github.com/woocommerce/woocommerce-admin/pull/3726)
* Add tracks for store profiler step completion
* Record event when profiler is completed
* Ensure continue setup loads the onboarding profiler (https://github.com/woocommerce/woocommerce-admin/pull/3646)
* 'All that include' option removed when input field is empty (https://github.com/woocommerce/woocommerce-admin/pull/3700)
* 'All that include' option removed when input field is empty
Added a control to check that when the input field 'Search by customer name' is empty, the 'All that include' option is not appearing.
* Const name improved
The constant name hasValues was changed to optionsHaveValues (more descriptive)
* Fix select text alignment (https://github.com/woocommerce/woocommerce-admin/pull/3723)
* Stock panel indicator - cache and use lookup tables. (https://github.com/woocommerce/woocommerce-admin/pull/3729)
* Stock panel indicator - cache and use lookup tables.
* Revise query, clear transient on product update.
* Fix error, ht Josh.
* Checklist: Remove sideloaded images to reduce build size, take 2 (https://github.com/woocommerce/woocommerce-admin/pull/3731)
* Remove homepage template images.
* Use other-small on all industries, adjust text color.
* Remove background dim and opacity set to 0
* Fix/3631 (https://github.com/woocommerce/woocommerce-admin/pull/3730)
* Added CBD as an industry type
CBD was added as an industry type in API
* Industries options modified
Modified the industries options. Now we are able to choose if we will use an input or not in the option.
* API control changed for industries.
API control changed for industries. Now it accepts the data type we need.
* Added input in Industries list for the option "Other"
Added an input for the option "Other" in the industries list
* Added suggested changes in review comments.
* Added data preparation for recordEvent
* Changed variable to snake_case
The variable "industriesWithDetail" was changed to "industries_with_detail" (snake_case)
* Onboarding: Create homepage without redirect (https://github.com/woocommerce/woocommerce-admin/pull/3727)
* Add link to edit homepage instead of redirect
* Add busy state to homepage creation button
* Publish homepage on create via API
* Update homepage notice to show on first post update
* Update homepage creation notice per design
* Record event on customize homepage
* Set homepage to frontpage on creation
* Add deactivation note for feature plugin (https://github.com/woocommerce/woocommerce-admin/pull/3687)
* Add version deactivation note
* Add the note to deactivate if the version is older than the current WC version
* Deactivate wc admin feature plugin on action click
* Add notes version hooks
* change the Package class namespace to exclude from standalone autoloader
* add use statement for FeaturePlugin
* add note explaining namespace
* use wc-admin-deactivate-plugin note name
* Rename file and class to WC_Admin_Notes_Deactivate_Plugin
Co-authored-by: Ron Rennick <ron@ronandandrea.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Add Travis tests on GH for release branch (https://github.com/woocommerce/woocommerce-admin/pull/3751)
* Add Travis tests on GH for release branch
* fix linter errors
* ActivityPanels.php -> use public static functions
* Remove free text Search option when no query exists (https://github.com/woocommerce/woocommerce-admin/pull/3755)
* Revert changes in woocommerce/woocommerce-admin#3700
* Don't add free text search if no query exists
* Add tests for Search without query
* Add test for showing free text search option
* Fix image sideloading for store industries. (https://github.com/woocommerce/woocommerce-admin/pull/3743)
* Fix image sideloading for store industries.
Data format changed in https://github.com/woocommerce/woocommerce-admin/pull/3730
* Fix industry image sideload in cases where the count is less than requested.
* Be backwards compatible with the old industry data format.
* Added event props to identify stores with WCS and Jetpack installed (https://github.com/woocommerce/woocommerce-admin/pull/3750)
* Added event props to identify stores with WCS and Jetpack installed
Also, added Jeckpack connected status
* Improved variable name
* Simplified method
Simplified method. "intersection" check was removed
* Tests errors repeared
The method "clear_low_out_of_stock_count_transient" now is static.
* OBW: fix sideloading image test error (https://github.com/woocommerce/woocommerce-admin/pull/3762)
* Release 0.26.0 changes (https://github.com/woocommerce/woocommerce-admin/pull/3753)
* add deactivation hook to Package.php (https://github.com/woocommerce/woocommerce-admin/pull/3770)
* Add active version functions (https://github.com/woocommerce/woocommerce-admin/pull/3772)
* add active version functions to Package.php
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* 0.26.1 changes (https://github.com/woocommerce/woocommerce-admin/pull/3773)
* Customers Report: fix missing report param in search (https://github.com/woocommerce/woocommerce-admin/pull/3778)
* Product titles include encoded entities (https://github.com/woocommerce/woocommerce-admin/pull/3765)
* Stripped HTML from product titles and decoded before displaying them
Stripped html from product titles and entities are decoded before displaying them
* Stripped HTML from product titles and decoded in Stock report
Stripped html from product titles and entities are decoded before displaying them. Now in Stock report
* Added support for HTML tags and encoded entities on product titles
Added support for HTML tags and encoded entities on filtered product list, dropdown menus and tag names.
Also, strip_tags() function was replaced with wp_strip_all_tags() instead.
* strip_tags() function was replaced with wp_strip_all_tags() instead.
* Added control for a variable
Added control for "item->data" before applying wp_strip_all_tags method.
* pre-commit changes
* Test text corrected
* fix linting issues
* fix mis-merged changes
* Update jsdoc
Co-Authored-By: Paul Sealock <psealock@gmail.com>
Co-authored-by: Timmy Crawford <timmyc@users.noreply.github.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando <ultimoround@gmail.com>
Co-authored-by: edmundcwm <edmundcwm@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Try: Moving Customers to main Woo Menu (https://github.com/woocommerce/woocommerce-admin/pull/3632)
* Only add onboarding settings on wc-admin pages when task list should be shown. (https://github.com/woocommerce/woocommerce-admin/pull/3722)
* Use cron for unsnoozing admin notes (https://github.com/woocommerce/woocommerce-admin/pull/3662)
* Use wp-cron for admin note snoozing.
* Remove "unsnooze" scheduled action.
* Use correct version.
* Avoid using deprecated method for unscheduling actions.
* Onboarding: Fix toggle tracking events (https://github.com/woocommerce/woocommerce-admin/pull/3645)
* Fix errant wcadmin prefix on event name
* Track the onboarding toggle on the option in case enable_onboarding isn't used
* Move toggle actions to separate function
* Move onboarding actions
* Move onboarding filters
* Move help tab updates to add_toggle_actions
* Only run onboarding actions when enabled
* Onboarding: Add tracks events when profiler steps are completed (https://github.com/woocommerce/woocommerce-admin/pull/3726)
* Add tracks for store profiler step completion
* Record event when profiler is completed
* Ensure continue setup loads the onboarding profiler (https://github.com/woocommerce/woocommerce-admin/pull/3646)
* 'All that include' option removed when input field is empty (https://github.com/woocommerce/woocommerce-admin/pull/3700)
* 'All that include' option removed when input field is empty
Added a control to check that when the input field 'Search by customer name' is empty, the 'All that include' option is not appearing.
* Const name improved
The constant name hasValues was changed to optionsHaveValues (more descriptive)
* Fix select text alignment (https://github.com/woocommerce/woocommerce-admin/pull/3723)
Co-authored-by: Timmy Crawford <timmyc@users.noreply.github.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando <ultimoround@gmail.com>
Co-authored-by: edmundcwm <edmundcwm@gmail.com>
* Don't truncate table data on uninstall if WooCommerce Admin is in core.
* DROP tables on uninstall (like core does).
* Migrate wc_ prefix options to woocommerce_.
This allows core WC to clean up when uninstalled.
* Migrate wc_ prefixed user meta fields to woocommerce_.
This allows core WC to clean up when uninstalled.
* Fix use of date().
* Update comment describing the option value filter.
* Add note to complete profiler
* Add note actions
* Update note to actioned when profiler is marked complete
* Update note to actioned client-side when completing profiler
* Relabel Net Revenue to Net Sales, revert previous refund work on Gross revenue and rename to total sales. Update the orer of all the things
* Add gross sales calculation to revenue stats endpoint.
* Restore coupon_total when updating order stats.
* Wire up gross sales to revenue report.
* Fix revenue report refunds calculation when there are no refunds.
* update net sales labels and cases in order, product and category tables
* Subtract refunded shipping and taxes from gross sales.
* pluses to minuses to fix the gross revenue and refund totals when refunding
* Add gross_sales to revenue stats orderby enum.
* Change refund labels to Returns
* Remove usage of defunct coupon_total column.
* Store refunded amount in stats table.
* Rename "gross_total" column to "total_sales".
* Net total for refund orders can be used instead of a new column.
* Rename gross_revenue to total_sales.
* Coalesce coupons total in order stats query.
SUM()ing all nulls gives null, not zero.
* Use segmentation selections to backfill missing data.
Fo when report columns and segmentation columns don't match.
* Remove errant gross_sales from expected interval test data.
* Fix gross sales tests for revenue/stats.
* Move missing segment fills back to their original locations.
* Fix remaining tests failing because of gross sales.
* Fix db upgrade function rename of gross_total column.
* Fix linter errors.
* Leave wc-admin install timestamp intact once set.
* Add inbox note for opting in to usage tracking.
* Remove markup from translated string.
* Allow tracking opt in note to be dismissed.
* Remove whitespace.
* Move inbox note actions to a bespoke component.
* Set busy state on action buttons on click.
* Allow for Note actions to be deleted.
* Update FB extension note after installation is complete.
* Link actions don't get busy treatment.
* Re-fetch note actions after updating.
Get new action IDs from the database.
* Add tracking to inbox note views. (https://github.com/woocommerce/woocommerce-admin/pull/3096)
* Move inbox note content to its own component.
* Send a tracks event when inbox notes are in the viewport.
Uses react-visibility-sensor.
* Match event data to `inbox_action_click`.