Commit b4088c15e97 for woocommerce
commit b4088c15e979e87cc65f2d04ed747a6b82abd928
Author: verofasulo <98944206+verofasulo@users.noreply.github.com>
Date: Fri May 8 14:07:55 2026 +0200
Add Quick edit to the products list bulk-action bar (#64704)
* Add Quick edit as a primary row action in the products list
Splits the product list row Edit action into two separate primary actions:
"Quick edit" (opens the side panel) and "Edit" (opens the full product
editor). Also removes the empty hierarchy column from the products table
by switching to text-based variation indentation.
* Add Quick edit to the products list bulk-action bar
Marks the Quick edit row action with supportsBulk so it appears in the
bottom bulk-action bar alongside Duplicate and Move to trash.
* remove not necessary code
---------
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
diff --git a/packages/js/experimental-products-app/changelog/add-quick-edit-bulk-action b/packages/js/experimental-products-app/changelog/add-quick-edit-bulk-action
new file mode 100644
index 00000000000..eae9e9bf702
--- /dev/null
+++ b/packages/js/experimental-products-app/changelog/add-quick-edit-bulk-action
@@ -0,0 +1,4 @@
+Significance: minor
+Type: add
+
+Add Quick edit to the products list bulk-action bar.
diff --git a/packages/js/experimental-products-app/src/dataviews-actions/actions.test.tsx b/packages/js/experimental-products-app/src/dataviews-actions/actions.test.tsx
index 1c16b585bd4..aa69254fc65 100644
--- a/packages/js/experimental-products-app/src/dataviews-actions/actions.test.tsx
+++ b/packages/js/experimental-products-app/src/dataviews-actions/actions.test.tsx
@@ -146,6 +146,15 @@ describe( 'product list actions', () => {
expect( onActionPerformed ).toHaveBeenCalledWith( [ product ] );
} );
+ it( 'exposes the Quick edit action as a bulk action', () => {
+ const { result } = renderHook( () => useProductActions() );
+ const quickEditProductAction = result.current.find(
+ ( action ) => action.id === 'quick-edit-product'
+ );
+
+ expect( quickEditProductAction?.supportsBulk ).toBe( true );
+ } );
+
it( 'opens product editor when the Edit action is triggered', () => {
const { result } = renderHook( () => useProductActions() );
const editProductAction = result.current.find(
diff --git a/packages/js/experimental-products-app/src/dataviews-actions/actions.tsx b/packages/js/experimental-products-app/src/dataviews-actions/actions.tsx
index 9885092a5f1..f8b965e8203 100644
--- a/packages/js/experimental-products-app/src/dataviews-actions/actions.tsx
+++ b/packages/js/experimental-products-app/src/dataviews-actions/actions.tsx
@@ -126,6 +126,7 @@ export const quickEditAction = ( {
id: 'quick-edit-product',
label: __( 'Quick edit', 'woocommerce' ),
isPrimary: true,
+ supportsBulk: true,
icon: edit,
isEligible( product ) {
return product.status !== 'trash';