From 570ab3915eab9d69380d0c71b08fe4e0b0e52c4c Mon Sep 17 00:00:00 2001 From: EnixCoda Date: Sat, 9 Nov 2019 13:28:51 +0800 Subject: [PATCH] refactor: move Props --- src/components/FileExplorer.tsx | 14 ++------------ src/components/SideBar.tsx | 6 ++---- src/driver/connect.ts | 2 +- src/driver/core/FileExplorer.ts | 10 +++++++++- src/driver/core/SideBar.ts | 3 ++- src/driver/core/index.ts | 10 ++++++++-- 6 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/components/FileExplorer.tsx b/src/components/FileExplorer.tsx index a7b606e..e0e2b35 100644 --- a/src/components/FileExplorer.tsx +++ b/src/components/FileExplorer.tsx @@ -3,25 +3,15 @@ import { Node } from 'components/Node' import { SearchBar } from 'components/SearchBar' import { connect } from 'driver/connect' import { FileExplorerCore } from 'driver/core' -import { ConnectorState } from 'driver/core/FileExplorer' +import { ConnectorState, Props } from 'driver/core/FileExplorer' import * as React from 'react' import { FixedSizeList as List, ListChildComponentProps } from 'react-window' import { cx } from 'utils/cx' -import { MetaData, TreeData } from 'utils/GitHubHelper' import { usePrevious } from 'utils/hooks' import { TreeNode, VisibleNodes } from 'utils/VisibleNodesGenerator' import { Icon } from './Icon' import { SizeObserver } from './SizeObserver' -export type Props = { - treeData?: TreeData - metaData: MetaData - freeze: boolean - compressSingletonFolder: boolean - accessToken: string | undefined - toggleShowSettings: React.MouseEventHandler -} - class RawFileExplorer extends React.Component { static defaultProps: Partial = { freeze: false, @@ -183,4 +173,4 @@ class RawFileExplorer extends React.Component { } } -export const FileExplorer = connect(FileExplorerCore)(RawFileExplorer) +export const FileExplorer = connect(FileExplorerCore)(RawFileExplorer) diff --git a/src/components/SideBar.tsx b/src/components/SideBar.tsx index b39ac59..f7f16e7 100644 --- a/src/components/SideBar.tsx +++ b/src/components/SideBar.tsx @@ -6,12 +6,10 @@ import { SettingsBar } from 'components/SettingsBar' import { ToggleShowButton } from 'components/ToggleShowButton' import { connect } from 'driver/connect' import { SideBarCore } from 'driver/core' -import { ConnectorState } from 'driver/core/SideBar' +import { ConnectorState, Props } from 'driver/core/SideBar' import * as React from 'react' import { cx } from 'utils/cx' -export type Props = {} - class RawGitako extends React.PureComponent { static defaultProps: Partial = { baseSize: 260, @@ -147,4 +145,4 @@ class RawGitako extends React.PureComponent { } } -export const SideBar = connect(SideBarCore)(RawGitako) +export const SideBar = connect(SideBarCore)(RawGitako) diff --git a/src/driver/connect.ts b/src/driver/connect.ts index e73308a..66933a3 100644 --- a/src/driver/connect.ts +++ b/src/driver/connect.ts @@ -47,7 +47,7 @@ export type MethodCreator = ( dispatch: Dispatch, ) => Method -type Sources = { +export type Sources = { [key: string]: MethodCreator } type WrappedMethods = { diff --git a/src/driver/core/FileExplorer.ts b/src/driver/core/FileExplorer.ts index ba82b9d..307a494 100644 --- a/src/driver/core/FileExplorer.ts +++ b/src/driver/core/FileExplorer.ts @@ -1,4 +1,3 @@ -import { Props } from 'components/FileExplorer' import { GetCreatedMethod, MethodCreator } from 'driver/connect' import * as ini from 'ini' import { Base64 } from 'js-base64' @@ -10,6 +9,15 @@ import * as treeParser from 'utils/treeParser' import * as URLHelper from 'utils/URLHelper' import { TreeNode, VisibleNodes, VisibleNodesGenerator } from 'utils/VisibleNodesGenerator' +export type Props = { + treeData?: GitHubHelper.TreeData + metaData: GitHubHelper.MetaData + freeze: boolean + compressSingletonFolder: boolean + accessToken: string | undefined + toggleShowSettings: React.MouseEventHandler +} + export type ConnectorState = { stateText: string visibleNodes: VisibleNodes | null diff --git a/src/driver/core/SideBar.ts b/src/driver/core/SideBar.ts index 93e0347..410e86a 100644 --- a/src/driver/core/SideBar.ts +++ b/src/driver/core/SideBar.ts @@ -1,4 +1,3 @@ -import { Props } from 'components/SideBar' import { GetCreatedMethod, MethodCreator } from 'driver/connect' import * as configHelper from 'utils/configHelper' import { Config } from 'utils/configHelper' @@ -8,6 +7,8 @@ import { MetaData, TreeData } from 'utils/GitHubHelper' import * as keyHelper from 'utils/keyHelper' import * as URLHelper from 'utils/URLHelper' +export type Props = {} + export type ConnectorState = { // error message error?: string diff --git a/src/driver/core/index.ts b/src/driver/core/index.ts index 0ba5dda..4eb403b 100644 --- a/src/driver/core/index.ts +++ b/src/driver/core/index.ts @@ -1,5 +1,11 @@ +import { Sources } from 'driver/connect' import * as FileExplorer from './FileExplorer' +import { + ConnectorState as FileExplorerConnectorState, + Props as FileExplorerProps, +} from './FileExplorer' import * as SideBar from './SideBar' +import { ConnectorState as SideBarConnectorState, Props as SideBarProps } from './SideBar' -export const SideBarCore = SideBar -export const FileExplorerCore = FileExplorer +export const FileExplorerCore: Sources = FileExplorer +export const SideBarCore: Sources = SideBar