Skip to content

Commit 768f176

Browse files
zhangtengjinwewoor
authored andcommitted
feat: optimize fileType definition
optimize fileType definition
1 parent ec63d9b commit 768f176

File tree

6 files changed

+23
-23
lines changed

6 files changed

+23
-23
lines changed

src/components/tree/index.tsx

+11-11
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import { IMenuItem } from 'mo/components/menu';
1010
import { Icon } from 'mo/components/icon';
1111
import { prefixClaName, classNames } from 'mo/common/className';
1212

13-
// TODO: 提出来
1413
export enum FileTypes {
15-
FILE = 'file',
16-
FOLDER = 'folder',
17-
ROOT = 'rootFolder',
14+
file = 'file',
15+
folder = 'folder',
16+
rootFolder = 'rootFolder',
1817
}
19-
export type FileType = 'file' | 'folder' | 'rootFolder';
18+
19+
export type FileType = keyof typeof FileTypes;
2020

2121
export interface ITreeNodeItem {
2222
name?: string;
@@ -51,11 +51,11 @@ export interface ITreeProps {
5151
expandedKeys?: Key[];
5252
defaultCheckedKeys?: Key[];
5353
checkedKeys?:
54-
| Key[]
55-
| {
56-
checked: Key[];
57-
halfChecked: Key[];
58-
};
54+
| Key[]
55+
| {
56+
checked: Key[];
57+
halfChecked: Key[];
58+
};
5959
defaultSelectedKeys?: Key[];
6060
selectedKeys?: Key[];
6161
titleRender?: (node: DataNode) => React.ReactNode;
@@ -220,7 +220,7 @@ const TreeView: React.FunctionComponent<ITreeProps> = (props: ITreeProps) => {
220220
switcherIcon={<Icon type="chevron-right" />}
221221
onSelect={(selectedKeys, e: any) => {
222222
const { fileType, modify } = e.node.data;
223-
const isFile = fileType === FileTypes.FILE;
223+
const isFile = fileType === FileTypes.file;
224224
if (isFile && !modify && props.onSelectFile) {
225225
props.onSelectFile(e.node.data);
226226
}

src/controller/explorer/folderTree.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export class FolderTreeController
3333
this.initView();
3434
}
3535

36-
private initView() {}
36+
private initView() { }
3737

3838
public readonly onSelectFile = (file: ITreeNodeItem) => {
3939
const tabData = {
@@ -142,15 +142,15 @@ export class FolderTreeController
142142
);
143143

144144
switch (node.fileType) {
145-
case FileTypes.FILE: {
145+
case FileTypes.file: {
146146
menu = fileContextMenu;
147147
break;
148148
}
149-
case FileTypes.FOLDER: {
149+
case FileTypes.folder: {
150150
menu = folderContextMenu;
151151
break;
152152
}
153-
case FileTypes.ROOT: {
153+
case FileTypes.rootFolder: {
154154
menu = rootFodlerContextMenu;
155155
break;
156156
}

src/model/workbench/explorer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export class TreeNodeModel implements ITreeNodeItem {
5555
id,
5656
name = '',
5757
location = '',
58-
fileType = FileTypes.FILE as FileType,
58+
fileType = FileTypes.file as FileType,
5959
children = [],
6060
icon = '',
6161
modify = false,

src/services/workbench/explorerService.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ export class ExplorerService
282282
name: string,
283283
fileType: FileType
284284
): string {
285-
if (fileType === FileTypes.FOLDER) return '';
285+
if (fileType === FileTypes.folder) return '';
286286
const fileExtension = name && name.split('.')?.[1];
287287
let icon = 'symbol-file';
288288
switch (fileExtension) {
@@ -458,7 +458,7 @@ export class ExplorerService
458458
const tree = new TreeView(currentRootFolder);
459459
tree.append(
460460
new TreeNodeModel({
461-
fileType: FileTypes.FOLDER as FileType,
461+
fileType: FileTypes.folder as FileType,
462462
modify: true,
463463
}),
464464
parentId

src/workbench/sidebar/explore/folderTree.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const FolderTree: React.FunctionComponent<IFolderTree> = (
5454
name: newName,
5555
},
5656
() => {
57-
if (node?.fileType === FileTypes.FILE && newName) {
57+
if (node?.fileType === FileTypes.file && newName) {
5858
onSelectFile?.({
5959
...node,
6060
name: newName,
@@ -87,8 +87,8 @@ const FolderTree: React.FunctionComponent<IFolderTree> = (
8787
onBlur={handleInputBlur}
8888
/>
8989
) : (
90-
name
91-
);
90+
name
91+
);
9292
};
9393

9494
const renderByData = (

stories/components/4-Tree.stories.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import { withKnobs } from '@storybook/addon-knobs';
77
const stories = storiesOf('Tree', module);
88
stories.addDecorator(withKnobs);
99

10-
const folder = FileTypes.FOLDER as FileType;
11-
const file = FileTypes.FILE as FileType;
10+
const folder = FileTypes.folder as FileType;
11+
const file = FileTypes.file as FileType;
1212

1313
stories.add('Basic Usage', () => {
1414
const treeData = [

0 commit comments

Comments
 (0)