diff options
Diffstat (limited to 'app/assets/javascripts/ide/stores/actions.js')
-rw-r--r-- | app/assets/javascripts/ide/stores/actions.js | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/app/assets/javascripts/ide/stores/actions.js b/app/assets/javascripts/ide/stores/actions.js index 36ac76cb42e..6f70f297214 100644 --- a/app/assets/javascripts/ide/stores/actions.js +++ b/app/assets/javascripts/ide/stores/actions.js @@ -193,9 +193,16 @@ export const deleteEntry = ({ commit, dispatch, state }, path) => { export const resetOpenFiles = ({ commit }) => commit(types.RESET_OPEN_FILES); -export const renameEntry = ({ dispatch, commit }, { path, name }) => { - commit(types.RENAME_ENTRY, { path, name }); - dispatch('deleteEntry', path); +export const renameEntry = ({ dispatch, commit, state }, { path, name, entryPath = null }) => { + commit(types.RENAME_ENTRY, { path, name, entryPath }); + + state.entries[entryPath || path].tree.forEach(f => + dispatch('renameEntry', { path, name, entryPath: f.path }), + ); + + if (!entryPath) { + dispatch('deleteEntry', path); + } }; export * from './actions/tree'; |