From 61abb3b230a0555f364e95ba2d5a1802312a3004 Mon Sep 17 00:00:00 2001 From: Andrei Draganescu Date: Wed, 12 Jul 2023 18:58:09 +0300 Subject: [PATCH 1/3] use the same create hook for classic import --- packages/block-library/src/navigation/edit/index.js | 2 +- .../navigation/edit/use-convert-classic-menu-to-block-menu.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/block-library/src/navigation/edit/index.js b/packages/block-library/src/navigation/edit/index.js index 6f629c20c0cfd9..fe024b23fa822a 100644 --- a/packages/block-library/src/navigation/edit/index.js +++ b/packages/block-library/src/navigation/edit/index.js @@ -197,7 +197,7 @@ function Navigation( { convert: convertClassicMenu, status: classicMenuConversionStatus, error: classicMenuConversionError, - } = useConvertClassicToBlockMenu( createNavigationMenu ); + } = useConvertClassicToBlockMenu( clientId, createNavigationMenu ); const isConvertingClassicMenu = classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING; diff --git a/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js b/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js index 405663726cee89..c4edf346f99c91 100644 --- a/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +++ b/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js @@ -20,7 +20,7 @@ export const CLASSIC_MENU_CONVERSION_IDLE = 'idle'; // do not import the same classic menu twice. let classicMenuBeingConvertedId = null; -function useConvertClassicToBlockMenu( createNavigationMenu ) { +function useConvertClassicToBlockMenu( clientId, createNavigationMenu ) { const registry = useRegistry(); const { editEntityRecord } = useDispatch( coreStore ); From 1139a90400299245281ea923b6eb2653eaebad92 Mon Sep 17 00:00:00 2001 From: Dave Smith Date: Thu, 13 Jul 2023 09:36:45 +0100 Subject: [PATCH 2/3] Remove redundant arg to hook --- packages/block-library/src/navigation/edit/index.js | 2 +- .../navigation/edit/use-convert-classic-menu-to-block-menu.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/block-library/src/navigation/edit/index.js b/packages/block-library/src/navigation/edit/index.js index fe024b23fa822a..6f629c20c0cfd9 100644 --- a/packages/block-library/src/navigation/edit/index.js +++ b/packages/block-library/src/navigation/edit/index.js @@ -197,7 +197,7 @@ function Navigation( { convert: convertClassicMenu, status: classicMenuConversionStatus, error: classicMenuConversionError, - } = useConvertClassicToBlockMenu( clientId, createNavigationMenu ); + } = useConvertClassicToBlockMenu( createNavigationMenu ); const isConvertingClassicMenu = classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING; diff --git a/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js b/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js index c4edf346f99c91..405663726cee89 100644 --- a/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +++ b/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js @@ -20,7 +20,7 @@ export const CLASSIC_MENU_CONVERSION_IDLE = 'idle'; // do not import the same classic menu twice. let classicMenuBeingConvertedId = null; -function useConvertClassicToBlockMenu( clientId, createNavigationMenu ) { +function useConvertClassicToBlockMenu( createNavigationMenu ) { const registry = useRegistry(); const { editEntityRecord } = useDispatch( coreStore ); From fb724d2dab100b05c9cc09689fb7f4a665b4d669 Mon Sep 17 00:00:00 2001 From: Dave Smith Date: Thu, 13 Jul 2023 09:47:49 +0100 Subject: [PATCH 3/3] Add option to throw on error rather than default to doing so --- .../use-convert-classic-menu-to-block-menu.js | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js b/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js index 405663726cee89..300672fa91e8ad 100644 --- a/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +++ b/packages/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js @@ -20,7 +20,10 @@ export const CLASSIC_MENU_CONVERSION_IDLE = 'idle'; // do not import the same classic menu twice. let classicMenuBeingConvertedId = null; -function useConvertClassicToBlockMenu( createNavigationMenu ) { +function useConvertClassicToBlockMenu( + createNavigationMenu, + { throwOnError = false } = {} +) { const registry = useRegistry(); const { editEntityRecord } = useDispatch( coreStore ); @@ -149,19 +152,21 @@ function useConvertClassicToBlockMenu( createNavigationMenu ) { classicMenuBeingConvertedId = null; // Rethrow error for debugging. - throw new Error( - sprintf( - // translators: %s: the name of a menu (e.g. Header navigation). - __( `Unable to create Navigation Menu "%s".` ), - menuName - ), - { - cause: err, - } - ); + if ( throwOnError ) { + throw new Error( + sprintf( + // translators: %s: the name of a menu (e.g. Header navigation). + __( `Unable to create Navigation Menu "%s".` ), + menuName + ), + { + cause: err, + } + ); + } } ); }, - [ convertClassicMenuToBlockMenu ] + [ convertClassicMenuToBlockMenu, throwOnError ] ); return {