Skip to content

Commit 7806c7a

Browse files
committed
add confirm dialog when going to color schemes
1 parent 415d0d6 commit 7806c7a

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

src/components/color-schemes-help/index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,13 @@ export const ColorSchemesHelp = props => {
99
customText, callback, className,
1010
} = props
1111
const onClick = () => {
12+
let cancelOnClick = false
1213
if ( callback ) {
13-
callback()
14+
cancelOnClick = callback()
15+
}
16+
17+
if ( cancelOnClick ) {
18+
return
1419
}
1520

1621
// Open the global settings sidebar.

src/components/modal-design-library/modal.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)