Skip to content

Commit faaea1a

Browse files
author
Ives van Hoorne
committed
Fix file/directory moving bugs
1 parent 18bfdfa commit faaea1a

File tree

4 files changed

+19
-18
lines changed

4 files changed

+19
-18
lines changed

packages/app/src/app/pages/Sandbox/Editor/Workspace/Files/DirectoryEntry/Entry/index.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,11 @@ const entrySource = {
174174
canDrag: props => !!props.id && !props.isMainModule,
175175
beginDrag: props => {
176176
if (props.closeTree) props.closeTree();
177-
return { id: props.id, directory: props.type === 'directory' };
177+
return {
178+
id: props.id,
179+
shortid: props.shortid,
180+
directory: props.type === 'directory' || props.type === 'directory-open',
181+
};
178182
},
179183
};
180184

packages/app/src/app/pages/Sandbox/Editor/Workspace/Files/DirectoryEntry/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,12 +314,12 @@ const entryTarget = {
314314

315315
if (sourceItem.directory) {
316316
props.signals.files.directoryMovedToDirectory({
317-
directoryId: sourceItem.id,
317+
shortid: sourceItem.shortid,
318318
directoryShortid: props.shortid,
319319
});
320320
} else {
321321
props.signals.files.moduleMovedToDirectory({
322-
moduleId: sourceItem.id,
322+
moduleShortid: sourceItem.shortid,
323323
directoryShortid: props.shortid,
324324
});
325325
}

packages/app/src/app/store/modules/files/actions.js

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ export function whenModuleIsSelected({ state, props, path }) {
1212

1313
export function saveNewDirectoryDirectoryShortid({ api, state, props, path }) {
1414
const sandboxId = state.get('editor.currentId');
15-
const sandbox = state.get('editor.currentSandbox');
16-
const shortid = sandbox.directories.find(
17-
directory => directory.id === props.directoryId
18-
).shortid;
15+
const shortid = props.shortid;
1916

2017
return api
2118
.put(`/sandboxes/${sandboxId}/directories/${shortid}`, {
@@ -27,9 +24,7 @@ export function saveNewDirectoryDirectoryShortid({ api, state, props, path }) {
2724

2825
export function saveNewModuleDirectoryShortid({ api, state, props, path }) {
2926
const sandboxId = state.get('editor.currentId');
30-
const sandbox = state.get('editor.currentSandbox');
31-
const shortid = sandbox.modules.find(module => module.id === props.moduleId)
32-
.shortid;
27+
const shortid = props.moduleShortid;
3328

3429
return api
3530
.put(`/sandboxes/${sandboxId}/modules/${shortid}`, {
@@ -124,9 +119,9 @@ export function removeOptimisticDirectory({ state, props }) {
124119
export function moveDirectoryToDirectory({ state, props }) {
125120
const sandbox = state.get('editor.currentSandbox');
126121
const directoryIndex = sandbox.directories.findIndex(
127-
directory => directory.id === props.directoryId
122+
directory => directory.shortid === props.shortid
128123
);
129-
const currentDirectortyShortid = state.get(
124+
const currentDirectoryShortid = state.get(
130125
`editor.sandboxes.${sandbox.id}.directories.${
131126
directoryIndex
132127
}.directoryShortid`
@@ -139,39 +134,39 @@ export function moveDirectoryToDirectory({ state, props }) {
139134
props.directoryShortid
140135
);
141136

142-
return { currentDirectortyShortid };
137+
return { currentDirectoryShortid };
143138
}
144139

145140
export function revertMoveDirectoryToDirectory({ state, props }) {
146141
const sandbox = state.get('editor.currentSandbox');
147142
const directoryIndex = sandbox.directories.findIndex(
148-
directory => directory.id === props.directoryId
143+
directory => directory.shortid === props.shortid
149144
);
150145

151146
state.set(
152147
`editor.sandboxes.${sandbox.id}.directories.${
153148
directoryIndex
154149
}.directoryShortid`,
155-
props.currentDirectortyShortid
150+
props.currentDirectoryShortid
156151
);
157152
}
158153

159154
export function revertMoveModuleToDirectory({ state, props }) {
160155
const sandbox = state.get('editor.currentSandbox');
161156
const moduleIndex = sandbox.modules.findIndex(
162-
module => module.id === props.moduleId
157+
module => module.shortid === props.moduleShortid
163158
);
164159

165160
state.set(
166161
`editor.sandboxes.${sandbox.id}.modules.${moduleIndex}.directoryShortid`,
167-
props.currentDirectortyShortid
162+
props.currentDirectoryShortid
168163
);
169164
}
170165

171166
export function moveModuleToDirectory({ state, props }) {
172167
const sandbox = state.get('editor.currentSandbox');
173168
const moduleIndex = sandbox.modules.findIndex(
174-
module => module.id === props.moduleId
169+
module => module.shortid === props.moduleShortid
175170
);
176171

177172
state.set(

packages/app/src/app/store/modules/files/sequences.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ export const deleteDirectory = [
8888
];
8989

9090
export const moveDirectoryToDirectory = [
91+
ensureOwnedSandbox,
9192
actions.moveDirectoryToDirectory,
9293
actions.saveNewDirectoryDirectoryShortid,
9394
{
@@ -100,6 +101,7 @@ export const moveDirectoryToDirectory = [
100101
];
101102

102103
export const moveModuleToDirectory = [
104+
ensureOwnedSandbox,
103105
actions.moveModuleToDirectory,
104106
actions.saveNewModuleDirectoryShortid,
105107
{

0 commit comments

Comments
 (0)