Skip to content

Commit 3cf026d

Browse files
committed
fix: rename file from assets browser with keyboard shortcuts
#682
1 parent 4c2ef86 commit 3cf026d

1 file changed

Lines changed: 12 additions & 11 deletions

File tree

  • editor/src/editor/layout/assets-browser/items

editor/src/editor/layout/assets-browser/items/item.tsx

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ export class AssetsBrowserItem extends Component<IAssetsBrowserItemProps, IAsset
156156
${this.state.isRenaming ? "px-1 scale-150 relative z-[9999] backdrop-blur-sm" : "px-5 scale-100"}
157157
${this.props.selected ? "bg-muted-foreground/35" : "hover:bg-secondary"}
158158
${this.state.isDragOver ? "bg-black/50" : ""}
159-
transition-all duration-300
159+
transition-all duration-300 ease-in-out
160160
`}
161161
>
162162
<div className="relative w-full aspect-square">
@@ -191,13 +191,12 @@ export class AssetsBrowserItem extends Component<IAssetsBrowserItemProps, IAsset
191191
setTimeout(() => {
192192
r?.focus();
193193
r?.select();
194-
}, 0);
194+
}, 300);
195195
}}
196196
onClick={(ev) => ev.stopPropagation()}
197197
onChange={(ev) => (this._renameValue = ev.currentTarget.value)}
198198
defaultValue={basename(this.props.absolutePath)}
199199
onFocus={(ev) => (this._renameValue = ev.currentTarget.value)}
200-
onBlur={(ev) => this._handleRenameFileOrFolder(ev.currentTarget.value)}
201200
onKeyDown={(ev) => ev.key === "Enter" && this._handleRenameFileOrFolder(ev.currentTarget.value)}
202201
/>
203202
)}
@@ -312,7 +311,7 @@ export class AssetsBrowserItem extends Component<IAssetsBrowserItemProps, IAsset
312311
isRenaming: true,
313312
});
314313

315-
window.addEventListener(
314+
document.addEventListener(
316315
"keyup",
317316
(this._renameKeyboardListener = (ev) => {
318317
if (ev.key === "Escape") {
@@ -323,14 +322,16 @@ export class AssetsBrowserItem extends Component<IAssetsBrowserItemProps, IAsset
323322

324323
this.props.setSelectionEnabled(true);
325324
}
326-
})
325+
}),
326+
true
327327
);
328328

329329
window.addEventListener(
330330
"click",
331331
(this._renameMouseListener = () => {
332332
this._handleRenameFileOrFolder(this._renameValue);
333-
})
333+
}),
334+
true
334335
);
335336
}
336337

@@ -368,12 +369,12 @@ export class AssetsBrowserItem extends Component<IAssetsBrowserItemProps, IAsset
368369

369370
private _removeRenameEventListeners(): void {
370371
if (this._renameKeyboardListener) {
371-
window.removeEventListener("keyup", this._renameKeyboardListener);
372+
document.removeEventListener("keyup", this._renameKeyboardListener, true);
372373
this._renameKeyboardListener = null;
373374
}
374375

375376
if (this._renameMouseListener) {
376-
window.removeEventListener("click", this._renameMouseListener);
377+
window.removeEventListener("click", this._renameMouseListener, true);
377378
this._renameMouseListener = null;
378379
}
379380
}
@@ -408,9 +409,9 @@ export class AssetsBrowserItem extends Component<IAssetsBrowserItemProps, IAsset
408409
<ContextMenuSeparator />
409410

410411
<ContextMenuItem
411-
onClick={() => {
412-
this.setState({ isRenaming: true });
413-
this.props.setSelectionEnabled(false);
412+
onClick={(ev) => {
413+
ev.stopPropagation();
414+
this._handleRenamingItem();
414415
}}
415416
>
416417
Rename...

0 commit comments

Comments
 (0)