diff --git a/src/components/menu-bar/menu-bar.jsx b/src/components/menu-bar/menu-bar.jsx index 11562411086..ab598718af9 100644 --- a/src/components/menu-bar/menu-bar.jsx +++ b/src/components/menu-bar/menu-bar.jsx @@ -137,7 +137,8 @@ class MenuBar extends React.Component { super(props); bindAll(this, [ 'handleLanguageMouseUp', - 'handleRestoreOption' + 'handleRestoreOption', + 'restoreOptionMessage' ]); } handleLanguageMouseUp (e) { @@ -151,6 +152,30 @@ class MenuBar extends React.Component { this.props.onRequestCloseEdit(); }; } + restoreOptionMessage (deletedItem) { + switch (deletedItem) { + case 'Sprite': + return (); + case 'Sound': + return (); + case 'Costume': + default: { + return (); + } + } + } render () { return ( @@ -306,18 +331,7 @@ class MenuBar extends React.Component { className={classNames({[styles.disabled]: !restorable})} onClick={this.handleRestoreOption(handleRestore)} > - {deletedItem === 'Sprite' ? - : - - } + {this.restoreOptionMessage(deletedItem)} )} diff --git a/src/containers/sound-tab.jsx b/src/containers/sound-tab.jsx index 2245f3d2f6a..a30b8f97e82 100644 --- a/src/containers/sound-tab.jsx +++ b/src/containers/sound-tab.jsx @@ -34,6 +34,8 @@ import { COSTUMES_TAB_INDEX } from '../reducers/editor-tab'; +import {setRestore} from '../reducers/restore-deletion'; + class SoundTab extends React.Component { constructor (props) { super(props); @@ -76,10 +78,11 @@ class SoundTab extends React.Component { } handleDeleteSound (soundIndex) { - this.props.vm.deleteSound(soundIndex); + const restoreFun = this.props.vm.deleteSound(soundIndex); if (soundIndex >= this.state.selectedSoundIndex) { this.setState({selectedSoundIndex: Math.max(0, soundIndex - 1)}); } + this.props.dispatchUpdateRestore({restoreFun, deletedItem: 'Sound'}); } handleDuplicateSound (soundIndex) { @@ -153,6 +156,7 @@ class SoundTab extends React.Component { render () { const { + dispatchUpdateRestore, // eslint-disable-line no-unused-vars intl, vm, onNewSoundFromLibraryClick, @@ -252,6 +256,7 @@ class SoundTab extends React.Component { } SoundTab.propTypes = { + dispatchUpdateRestore: PropTypes.func, editingTarget: PropTypes.string, intl: intlShape, onActivateCostumesTab: PropTypes.func.isRequired, @@ -294,6 +299,9 @@ const mapDispatchToProps = dispatch => ({ }, onRequestCloseSoundLibrary: () => { dispatch(closeSoundLibrary()); + }, + dispatchUpdateRestore: restoreState => { + dispatch(setRestore(restoreState)); } });