@@ -108,6 +108,18 @@ export const ModalDesignLibrary = props => {
108108 } )
109109 } , [ sidebarDesigns , selectedPlan , selectedCategory ] )
110110
111+ const colorSchemeHelpCallback = ( ) => {
112+ if ( selectedDesignIds . length ) {
113+ // eslint-disable-next-line no-alert
114+ const confirmClose = window . confirm ( sprintf ( __ ( 'You have one or more designs selected. Navigating to %s will close the Design Library and your current selection will be lost. Do you want to continue?' , i18n ) , __ ( 'Color Schemes' , i18n ) ) )
115+ if ( ! confirmClose ) {
116+ return true
117+ }
118+ }
119+ props . onClose ( )
120+ return false
121+ }
122+
111123 return (
112124 < Modal
113125 title = { __ ( 'Stackable Design Library' , i18n ) }
@@ -288,8 +300,8 @@ export const ModalDesignLibrary = props => {
288300 </ Button >
289301 } ) }
290302 { Object . keys ( colorSchemesCollection ) . length
291- ? < ColorSchemesHelp customText = "" callback = { props . onClose } className = "ugb-design-library__manage-scheme" />
292- : < ColorSchemesHelp customText = { __ ( 'You do not have any color schemes.' , i18n ) } callback = { props . onClose } />
303+ ? < ColorSchemesHelp customText = "" callback = { colorSchemeHelpCallback } className = "ugb-design-library__manage-scheme" />
304+ : < ColorSchemesHelp customText = { __ ( 'You do not have any color schemes.' , i18n ) } callback = { colorSchemeHelpCallback } />
293305 }
294306 </ div >
295307 </ div >
@@ -349,8 +361,8 @@ export const ModalDesignLibrary = props => {
349361 </ Button >
350362 } ) }
351363 { Object . keys ( colorSchemesCollection ) . length
352- ? < ColorSchemesHelp customText = "" callback = { props . onClose } className = "ugb-design-library__manage-scheme" />
353- : < ColorSchemesHelp customText = { __ ( 'You do not have any color schemes.' , i18n ) } callback = { props . onClose } />
364+ ? < ColorSchemesHelp customText = "" callback = { colorSchemeHelpCallback } className = "ugb-design-library__manage-scheme" />
365+ : < ColorSchemesHelp customText = { __ ( 'You do not have any color schemes.' , i18n ) } callback = { colorSchemeHelpCallback } />
354366 }
355367 </ div >
356368 </ div >
0 commit comments