Commit 1a511472 authored by ioedeveloper's avatar ioedeveloper

Extract types

parent 9084e342
......@@ -81,16 +81,14 @@ class WorkspaceFileProvider extends FileProvider {
}
async createWorkspace (name) {
if (!name) name = 'default_workspace'
this.setWorkspace(name)
const workspacePath = 'browser/' + this.workspacesPath + '/' + name
const workspaceRootPath = 'browser/' + this.workspacesPath
const workspaceRootPathExists = await super.exists(workspaceRootPath)
const workspacePathExists = await super.exists(workspacePath)
if (!workspaceRootPathExists) super.createDir(workspaceRootPath)
if (!workspacePathExists) super.createDir(workspacePath)
this.event.emit('createWorkspace', name)
try {
if (!name) name = 'default_workspace'
this.setWorkspace(name)
await super.createDir(name)
this.event.emit('createWorkspace', name)
} catch (e) {
throw new Error(e)
}
}
}
......
export * from './lib/file-explorer'
export * from './lib/types'
......@@ -18,7 +18,7 @@ import './css/file-explorer.css'
const queryParams = new QueryParams()
export const FileExplorer = (props: FileExplorerProps) => {
const { name, registry, plugin, focusRoot, contextMenuItems, displayInput, externalUploads, removedContextMenuItems } = props
const { name, registry, plugin, focusRoot, contextMenuItems, displayInput, externalUploads, removedContextMenuItems, resetFocus } = props
const [state, setState] = useState({
focusElement: [{
key: '',
......@@ -204,7 +204,7 @@ export const FileExplorer = (props: FileExplorerProps) => {
setState(prevState => {
return { ...prevState, focusElement: [{ key: '', type: 'folder' }] }
})
plugin.resetFocus(false)
resetFocus(false)
}
}, [focusRoot])
......@@ -230,7 +230,6 @@ export const FileExplorer = (props: FileExplorerProps) => {
useEffect(() => {
if (externalUploads) {
uploadFile(externalUploads)
plugin.resetUploadFile()
}
}, [externalUploads])
......@@ -988,7 +987,7 @@ export const FileExplorer = (props: FileExplorerProps) => {
setState(prevState => {
return { ...prevState, expandPath }
})
plugin.resetFocus(true)
resetFocus(true)
}}>
<FileExplorerMenu
title={''}
......
......@@ -13,6 +13,7 @@ export interface FileExplorerProps {
removedContextMenuItems: MenuItems,
displayInput?: boolean,
externalUploads?: EventTarget & HTMLInputElement,
resetFocus?: (value: boolean) => void
}
export interface File {
......
import { MenuItems } from '@remix-ui/file-explorer'
export interface WorkspaceProps {
plugin: {
setWorkspace: ({ name: string, isLocalhost: boolean }, setEvent: boolean) => void,
createWorkspace: (name: string) => void,
renameWorkspace: (oldName: string, newName: string) => void
workspaceRenamed: ({ name: string }) => void,
workspaceCreated: ({ name: string }) => void,
workspaceDeleted: ({ name: string }) => void,
workspace: any // workspace provider,
browser: any // browser provider
localhost: any // localhost provider
fileManager : any
registry: any // registry
request: {
createWorkspace: () => void,
setWorkspace: (workspaceName: string) => void,
createNewFile: () => void,
uploadFile: (target: EventTarget & HTMLInputElement) => void,
getCurrentWorkspace: () => void
} // api request,
workspaces: any,
registeredMenuItems: MenuItems // menu items
removedMenuItems: MenuItems
initialWorkspace: string,
resetNewFile: () => void,
getWorkspaces: () => string[]
}
}
export interface WorkspaceState {
workspaces: string[]
reset: boolean
hideRemixdExplorer: boolean
displayNewFile: boolean
externalUploads: EventTarget & HTMLInputElement
uploadFileEvent: EventTarget & HTMLInputElement
loadingLocalhost: boolean
toasterMsg: string
}
export interface Modal {
hide: boolean
title: string
message: string | JSX.Element
okLabel: string
okFn: () => void
cancelLabel: string
cancelFn: () => void
handleHide: () => void
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment