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));
}
});