Skip to content

Commit c1a039c

Browse files
committed
chore: cleanup
1 parent 85af27f commit c1a039c

File tree

4 files changed

+19
-95
lines changed

4 files changed

+19
-95
lines changed

sites/preview/src/lib/components/tree/ContextMenu.svelte

+5-17
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,13 @@
7575
};
7676
7777
function handleCreateFolder(): void {
78-
if (showArgs === undefined) {
79-
throw new Error("Context menu is closed");
80-
}
81-
82-
switch (showArgs.type) {
78+
switch (showArgs!.type) {
8379
case "tree": {
8480
onCreateFolder(tree);
8581
break;
8682
}
8783
case "item": {
88-
const item = showArgs.item();
84+
const item = showArgs!.item();
8985
if (item.node.type === "file") {
9086
throw new Error("Cannot create a folder inside a file");
9187
}
@@ -97,22 +93,14 @@
9793
}
9894
9995
function handleUploadFiles(): void {
100-
if (showArgs === undefined) {
101-
throw new Error("Context menu is closed");
102-
}
103-
104-
if (fileInput === null) {
105-
throw new Error("File input is not mounted");
106-
}
107-
10896
let target: FolderNode | FileTree;
109-
switch (showArgs.type) {
97+
switch (showArgs!.type) {
11098
case "tree": {
11199
target = tree;
112100
break;
113101
}
114102
case "item": {
115-
const item = showArgs.item();
103+
const item = showArgs!.item();
116104
if (item.node.type === "file") {
117105
throw new Error("Cannot upload files inside a file");
118106
}
@@ -129,7 +117,7 @@
129117
130118
onUploadFiles(target, files);
131119
};
132-
fileInput.click();
120+
fileInput!.click();
133121
}
134122
135123
const handleFileInputChange: EventHandler<Event, HTMLInputElement> = (event) => {

sites/preview/src/lib/components/tree/NameFormDialog.svelte

+1-5
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,7 @@
3535
}
3636
3737
const handleSubmit: EventHandler<SubmitEvent, HTMLFormElement> = (event) => {
38-
if (showArgs === undefined) {
39-
throw new Error("Dialog is closed");
40-
}
41-
42-
showArgs.onSubmit(name);
38+
showArgs!.onSubmit(name);
4339
event.preventDefault();
4440
};
4541
</script>

sites/preview/src/lib/components/tree/Tree.svelte

+10-58
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,6 @@
8080
name,
8181
}: ResolveNameConflictArgs): Promise<NameConflictResolution> {
8282
return new Promise((resolve) => {
83-
if (nameConflictDialog === null) {
84-
throw new Error("Dialog is not mounted");
85-
}
86-
8783
let title: string;
8884
switch (operation) {
8985
case "move": {
@@ -96,7 +92,7 @@
9692
}
9793
}
9894
99-
nameConflictDialog.show({
95+
nameConflictDialog!.show({
10096
title,
10197
description: `An item with the name "${name}" already exists`,
10298
onClose: resolve,
@@ -116,20 +112,12 @@
116112
}
117113
118114
function handleRename(target: TreeItemState<FileTreeNode>): void {
119-
if (nameFormDialog === null) {
120-
throw new Error("Dialog is not mounted");
121-
}
122-
123-
nameFormDialog.show({
115+
nameFormDialog!.show({
124116
title: "Rename",
125117
initialName: target.node.name,
126118
onSubmit: async (name) => {
127-
if (nameFormDialog === null) {
128-
throw new Error("Dialog is not mounted");
129-
}
130-
131119
if (name === target.node.name) {
132-
nameFormDialog.close();
120+
nameFormDialog!.close();
133121
return;
134122
}
135123
@@ -143,36 +131,12 @@
143131
144132
const didRename = await onRenameItem({ target, name });
145133
if (didRename) {
146-
nameFormDialog.close();
134+
nameFormDialog!.close();
147135
}
148136
},
149137
});
150138
}
151139
152-
function handleCopy(target: TreeItemState<FileTreeNode>, operation: PasteOperation): void {
153-
if (treeComponent === null) {
154-
throw new Error("Tree is not mounted");
155-
}
156-
157-
treeComponent.copy(target, operation);
158-
}
159-
160-
function handlePaste(target: TreeItemState<FileTreeNode>): void {
161-
if (treeComponent === null) {
162-
throw new Error("Tree is not mounted");
163-
}
164-
165-
treeComponent.paste(target);
166-
}
167-
168-
function handleRemove(target: TreeItemState<FileTreeNode>): void {
169-
if (treeComponent === null) {
170-
throw new Error("Tree is not mounted");
171-
}
172-
173-
treeComponent.remove(target);
174-
}
175-
176140
function handleUploadFiles(target: FolderNode | FileTree, files: FileList): void {
177141
for (const file of files) {
178142
const node = new FileNode({
@@ -185,18 +149,10 @@
185149
}
186150
187151
function handleCreateFolder(target: FolderNode | FileTree): void {
188-
if (nameFormDialog === null) {
189-
throw new Error("Dialog is not mounted");
190-
}
191-
192-
nameFormDialog.show({
152+
nameFormDialog!.show({
193153
title: "New Folder",
194154
initialName: "",
195155
onSubmit: (name) => {
196-
if (nameFormDialog === null) {
197-
throw new Error("Dialog is not mounted");
198-
}
199-
200156
for (const child of target.children) {
201157
if (child.name === name) {
202158
showAlreadyExistsToast(name);
@@ -210,7 +166,7 @@
210166
children: [],
211167
});
212168
target.children.push(node);
213-
nameFormDialog.close();
169+
nameFormDialog!.close();
214170
},
215171
});
216172
}
@@ -236,11 +192,7 @@
236192
};
237193
238194
const handleDrop: EventHandler<DragEvent, HTMLDivElement> = (event) => {
239-
if (event.defaultPrevented) {
240-
return;
241-
}
242-
243-
if (event.dataTransfer === null) {
195+
if (event.defaultPrevented || event.dataTransfer === null) {
244196
return;
245197
}
246198
@@ -262,9 +214,9 @@
262214
{tree}
263215
bind:this={contextMenu}
264216
onRename={handleRename}
265-
onCopy={handleCopy}
266-
onPaste={handlePaste}
267-
onRemove={handleRemove}
217+
onCopy={(target, operation) => treeComponent!.copy(target, operation)}
218+
onPaste={(target) => treeComponent!.paste(target)}
219+
onRemove={(target) => treeComponent!.remove(target)}
268220
onUploadFiles={handleUploadFiles}
269221
onCreateFolder={handleCreateFolder}
270222
>

sites/preview/src/lib/components/tree/TreeItem.svelte

+3-15
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,7 @@
4646
return;
4747
}
4848
49-
if (contextMenu === null) {
50-
throw new Error("Context menu is not mounted");
51-
}
52-
53-
contextMenu.show({
49+
contextMenu!.show({
5450
type: "item",
5551
item: () => item,
5652
});
@@ -66,10 +62,6 @@
6662
};
6763
6864
const handleToggleClick: EventHandler<MouseEvent, HTMLButtonElement> = (event) => {
69-
if (ref === null) {
70-
throw new Error("Tree item is not mounted");
71-
}
72-
7365
if (item.disabled) {
7466
return;
7567
}
@@ -80,17 +72,13 @@
8072
onExpand(item);
8173
}
8274
83-
ref.focus();
75+
ref!.focus();
8476
event.stopPropagation();
8577
};
8678
8779
$effect(() => {
8880
return () => {
89-
if (contextMenu === null) {
90-
throw new Error("Context menu is not mounted");
91-
}
92-
93-
contextMenu.onItemDestroyed(item);
81+
contextMenu!.onItemDestroyed(item);
9482
};
9583
});
9684
</script>

0 commit comments

Comments
 (0)