linting react workspace

pull/5370/head
yann300 4 years ago
parent 273ebffed3
commit 801ec2250d
  1. 2
      libs/remix-ui/workspace/src/index.ts
  2. 178
      libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx
  3. 2
      package.json

@ -1 +1 @@
export * from './lib/remix-ui-workspace'; export * from './lib/remix-ui-workspace'

@ -1,6 +1,6 @@
import React, { useState, useEffect, useRef } from 'react'; import React, { useState, useEffect, useRef } from 'react' // eslint-disable-line
import { FileExplorer } from '@remix-ui/file-explorer' // eslint-disable-line import { FileExplorer } from '@remix-ui/file-explorer' // eslint-disable-line
import './remix-ui-workspace.css'; import './remix-ui-workspace.css'
import { ModalDialog } from '@remix-ui/modal-dialog' // eslint-disable-line import { ModalDialog } from '@remix-ui/modal-dialog' // eslint-disable-line
/* eslint-disable-next-line */ /* eslint-disable-next-line */
@ -79,11 +79,11 @@ export const Workspace = (props: WorkspaceProps) => {
}, [props.workspaces]) }, [props.workspaces])
useEffect(() => { useEffect(() => {
props.localhost.event.register('connected', (event) => { props.localhost.event.register('connected', () => {
remixdExplorer.show() remixdExplorer.show()
}) })
props.localhost.event.register('disconnected', (event) => { props.localhost.event.register('disconnected', () => {
remixdExplorer.hide() remixdExplorer.hide()
}) })
@ -195,7 +195,7 @@ export const Workspace = (props: WorkspaceProps) => {
setWorkspace(NO_WORKSPACE) setWorkspace(NO_WORKSPACE)
props.workspaceDeleted({ name }) props.workspaceDeleted({ name })
} }
/**** ****/ /** ** ****/
const resetFocus = (reset) => { const resetFocus = (reset) => {
setState(prevState => { setState(prevState => {
@ -283,74 +283,74 @@ export const Workspace = (props: WorkspaceProps) => {
return ( return (
<div className='remixui_container'> <div className='remixui_container'>
<ModalDialog <ModalDialog
id='workspacesModalDialog' id='workspacesModalDialog'
title={ state.modal.title } title={ state.modal.title }
message={ state.modal.message } message={ state.modal.message }
hide={ state.modal.hide } hide={ state.modal.hide }
ok={ state.modal.ok } ok={ state.modal.ok }
cancel={ state.modal.cancel } cancel={ state.modal.cancel }
handleHide={ handleHideModal }> handleHide={ handleHideModal }>
{ (typeof state.modal.message !== 'string') && state.modal.message } { (typeof state.modal.message !== 'string') && state.modal.message }
</ModalDialog> </ModalDialog>
<div className='remixui_fileexplorer' onClick={() => resetFocus(true)}> <div className='remixui_fileexplorer' onClick={() => resetFocus(true)}>
<div> <div>
<header> <header>
<div className="mb-2"> <div className="mb-2">
<label className="form-check-label" htmlFor="workspacesSelect"> <label className="form-check-label" htmlFor="workspacesSelect">
Workspaces Workspaces
</label> </label>
<span className="remixui_menu"> <span className="remixui_menu">
<span <span
id='workspaceCreate' id='workspaceCreate'
data-id='workspaceCreate' data-id='workspaceCreate'
onClick={(e) => { onClick={(e) => {
e.stopPropagation() e.stopPropagation()
createWorkspace() createWorkspace()
}} }}
className='far fa-plus-square remixui_menuicon' className='far fa-plus-square remixui_menuicon'
title='Create a new Workspace'> title='Create a new Workspace'>
</span> </span>
<span <span
hidden={state.currentWorkspace === LOCALHOST || state.currentWorkspace === NO_WORKSPACE} hidden={state.currentWorkspace === LOCALHOST || state.currentWorkspace === NO_WORKSPACE}
id='workspaceRename' id='workspaceRename'
data-id='workspaceRename' data-id='workspaceRename'
onClick={(e) => { onClick={(e) => {
e.stopPropagation() e.stopPropagation()
renameCurrentWorkspace() renameCurrentWorkspace()
}} }}
className='far fa-edit remixui_menuicon' className='far fa-edit remixui_menuicon'
title='Rename current Workspace'> title='Rename current Workspace'>
</span>
<span
hidden={state.currentWorkspace === LOCALHOST || state.currentWorkspace === NO_WORKSPACE}
id='workspaceDelete'
data-id='workspaceDelete'
onClick={(e) => {
e.stopPropagation()
deleteCurrentWorkspace()
}}
className='fas fa-trash'
title='Delete current Workspace'>
</span>
</span> </span>
<select id="workspacesSelect" data-id="workspacesSelect" onChange={(e) => setWorkspace(e.target.value)} className="form-control custom-select"> <span
hidden={state.currentWorkspace === LOCALHOST || state.currentWorkspace === NO_WORKSPACE}
id='workspaceDelete'
data-id='workspaceDelete'
onClick={(e) => {
e.stopPropagation()
deleteCurrentWorkspace()
}}
className='fas fa-trash'
title='Delete current Workspace'>
</span>
</span>
<select id="workspacesSelect" data-id="workspacesSelect" onChange={(e) => setWorkspace(e.target.value)} className="form-control custom-select">
{ {
state.workspaces state.workspaces
.map((folder) => { .map((folder) => {
return <option selected={state.currentWorkspace === folder} value={folder}>{folder}</option> return <option selected={state.currentWorkspace === folder} value={folder}>{folder}</option>
}) })
} }
<option selected={state.currentWorkspace === LOCALHOST} value={LOCALHOST}>{LOCALHOST}</option> <option selected={state.currentWorkspace === LOCALHOST} value={LOCALHOST}>{LOCALHOST}</option>
{ state.workspaces.length <= 0 && <option selected={state.currentWorkspace === NO_WORKSPACE} value={NO_WORKSPACE}>{NO_WORKSPACE}</option> } { state.workspaces.length <= 0 && <option selected={state.currentWorkspace === NO_WORKSPACE} value={NO_WORKSPACE}>{NO_WORKSPACE}</option> }
</select> </select>
</div> </div>
</header> </header>
</div> </div>
<div className='remixui_fileExplorerTree'> <div className='remixui_fileExplorerTree'>
<div> <div>
<div className='pl-2 remixui_treeview' data-id='filePanelFileExplorerTree'> <div className='pl-2 remixui_treeview' data-id='filePanelFileExplorerTree'>
{ state.hideRemixdExplorer && state.currentWorkspace && state.currentWorkspace !== NO_WORKSPACE && state.currentWorkspace !== LOCALHOST && { state.hideRemixdExplorer && state.currentWorkspace && state.currentWorkspace !== NO_WORKSPACE && state.currentWorkspace !== LOCALHOST &&
<FileExplorer <FileExplorer
name={state.currentWorkspace} name={state.currentWorkspace}
registry={props.registry} registry={props.registry}
@ -362,10 +362,10 @@ export const Workspace = (props: WorkspaceProps) => {
displayInput={state.displayNewFile} displayInput={state.displayNewFile}
externalUploads={state.uploadFileEvent} externalUploads={state.uploadFileEvent}
/> />
} }
</div> </div>
<div className='pl-2 filesystemexplorer remixui_treeview'> <div className='pl-2 filesystemexplorer remixui_treeview'>
{ !state.hideRemixdExplorer && { !state.hideRemixdExplorer &&
<FileExplorer <FileExplorer
name='localhost' name='localhost'
registry={props.registry} registry={props.registry}
@ -375,27 +375,27 @@ export const Workspace = (props: WorkspaceProps) => {
focusRoot={state.reset} focusRoot={state.reset}
contextMenuItems={props.registeredMenuItems} contextMenuItems={props.registeredMenuItems}
/> />
} }
</div> </div>
<div className='pl-2 remixui_treeview'> <div className='pl-2 remixui_treeview'>
{ false && <FileExplorer { false && <FileExplorer
name='browser' name='browser'
registry={props.registry} registry={props.registry}
filesProvider={props.browser} filesProvider={props.browser}
menuItems={['createNewFile', 'createNewFolder', 'publishToGist', canUpload ? 'uploadFile' : '']} menuItems={['createNewFile', 'createNewFolder', 'publishToGist', canUpload ? 'uploadFile' : '']}
plugin={props.plugin} plugin={props.plugin}
focusRoot={state.reset} focusRoot={state.reset}
contextMenuItems={props.registeredMenuItems} contextMenuItems={props.registeredMenuItems}
displayInput={state.displayNewFile} displayInput={state.displayNewFile}
externalUploads={state.uploadFileEvent} externalUploads={state.uploadFileEvent}
/> />
} }
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
); </div>
}; )
}
export default Workspace; export default Workspace

@ -41,7 +41,7 @@
"workspace-schematic": "nx workspace-schematic", "workspace-schematic": "nx workspace-schematic",
"dep-graph": "nx dep-graph", "dep-graph": "nx dep-graph",
"help": "nx help", "help": "nx help",
"lint:libs": "nx run-many --target=lint --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remixd,remix-ui-tree-view,remix-ui-modal-dialog,remix-ui-toaster,remix-ui-file-explorer,remix-ui-debugger-ui", "lint:libs": "nx run-many --target=lint --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remixd,remix-ui-tree-view,remix-ui-modal-dialog,remix-ui-toaster,remix-ui-file-explorer,remix-ui-debugger-ui,remix-ui-workspace",
"build:libs": "nx run-many --target=build --parallel=false --with-deps=true --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remixd", "build:libs": "nx run-many --target=build --parallel=false --with-deps=true --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remixd",
"test:libs": "nx run-many --target=test --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remixd", "test:libs": "nx run-many --target=test --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remixd",
"publish:libs": "npm run build:libs & lerna publish --skip-git & npm run bumpVersion:libs", "publish:libs": "npm run build:libs & lerna publish --skip-git & npm run bumpVersion:libs",

Loading…
Cancel
Save