diff --git a/apps/remix-ide/src/app/components/hidden-panel.js b/apps/remix-ide/src/app/components/hidden-panel.js index 77f67c6f4c..65a13be773 100644 --- a/apps/remix-ide/src/app/components/hidden-panel.js +++ b/apps/remix-ide/src/app/components/hidden-panel.js @@ -1,7 +1,7 @@ +import React from 'react' // eslint-disable-line import { AbstractPanel } from './panel' import * as packageJson from '../../../../../package.json' const csjs = require('csjs-inject') -const yo = require('yo-yo') const css = csjs` .pluginsContainer { @@ -20,12 +20,20 @@ const profile = { export class HiddenPanel extends AbstractPanel { constructor () { super(profile) + this.container = document.createElement('div') } render () { - return yo` -
- ${this.view} -
` + return this.container + } + + renderComponent () { + return ReactDOM.render( +
+ {this.element} +
+ , + this.container + ) } } diff --git a/apps/remix-ide/src/app/components/main-panel.js b/apps/remix-ide/src/app/components/main-panel.js index dd9269a27c..f1568228db 100644 --- a/apps/remix-ide/src/app/components/main-panel.js +++ b/apps/remix-ide/src/app/components/main-panel.js @@ -21,6 +21,10 @@ export class MainPanel extends AbstractPanel { this.config = config } + onActivation () { + this.renderComponent() + } + focus (name) { this.emit('focusChanged', name) super.focus(name) @@ -30,6 +34,12 @@ export class MainPanel extends AbstractPanel { addView (profile, view) { super.addView(profile, view) view.style.height = '100%' + this.renderComponent() + } + + removeView (profile) { + super.removeView(profile) + this.renderComponent() } onActivation () { @@ -43,7 +53,7 @@ export class MainPanel extends AbstractPanel { renderComponent () { ReactDOM.render( , this.mainelement ) diff --git a/apps/remix-ide/src/app/components/panel.js b/apps/remix-ide/src/app/components/panel.js index daa211a121..113db9438d 100644 --- a/apps/remix-ide/src/app/components/panel.js +++ b/apps/remix-ide/src/app/components/panel.js @@ -1,6 +1,4 @@ import React from 'react' // eslint-disable-line -import ReactDOM from 'react-dom' -import { RemixUiAbstractPanel } from '@remix-ui/abstract-panel' // eslint-disable-line import { EventEmitter } from 'events' const EventManager = require('../../lib/events') import { HostPlugin } from '@remixproject/engine-web' // eslint-disable-line @@ -13,11 +11,6 @@ export class AbstractPanel extends HostPlugin { this.event = new EventManager() this.contents = {} this.active = undefined - this.element = document.createElement('div') - } - - onActivation () { - this.renderComponent() } addView (profile, view) { @@ -32,8 +25,6 @@ export class AbstractPanel extends HostPlugin { this.contents[profile.name] = view this.contents[profile.name].style.display = 'none' - this.element.appendChild(this.contents[profile.name]) - this.renderComponent() } removeView (profile) { @@ -49,9 +40,7 @@ export class AbstractPanel extends HostPlugin { remove (name) { const el = this.contents[name] delete this.contents[name] - if (el) el.parentElement.removeChild(el) if (name === this.active) this.active = undefined - this.renderComponent() } /** @@ -64,7 +53,6 @@ export class AbstractPanel extends HostPlugin { if (this.active) { this.contents[this.active].style.display = 'none' } - console.log({ name, active: this.active, contents: this.contents }) this.contents[name].style.display = 'flex' this.contents[name].style.paddingTop = '20%' this.contents[name].style.flexDirection = 'column' @@ -75,13 +63,4 @@ export class AbstractPanel extends HostPlugin { focus (name) { this.showContent(name) } - - renderComponent () { - ReactDOM.render( - , - this.element - ) - } } diff --git a/apps/remix-ide/src/app/components/side-panel.js b/apps/remix-ide/src/app/components/side-panel.js index f39dd7963d..a57165b564 100644 --- a/apps/remix-ide/src/app/components/side-panel.js +++ b/apps/remix-ide/src/app/components/side-panel.js @@ -18,9 +18,7 @@ export class SidePanel extends AbstractPanel { constructor (appManager, verticalIcons) { super(sidePanel) this.appManager = appManager - // this.sideelement = this.element this.sideelement = document.createElement('div') - this.element = this.sideelement this.verticalIcons = verticalIcons // Toggle content @@ -60,6 +58,7 @@ export class SidePanel extends AbstractPanel { super.removeView(profile) this.emit('pluginDisabled', profile.name) this.verticalIcons.unlinkContent(profile) + this.renderComponent() } addView (profile, view) { @@ -84,7 +83,7 @@ export class SidePanel extends AbstractPanel { renderComponent () { ReactDOM.render( , this.sideelement diff --git a/libs/remix-ui/abstract-panel/.babelrc b/libs/remix-ui/abstract-panel/.babelrc deleted file mode 100644 index ccae900be4..0000000000 --- a/libs/remix-ui/abstract-panel/.babelrc +++ /dev/null @@ -1,12 +0,0 @@ -{ - "presets": [ - [ - "@nrwl/react/babel", - { - "runtime": "automatic", - "useBuiltIns": "usage" - } - ] - ], - "plugins": [] -} diff --git a/libs/remix-ui/abstract-panel/.eslintrc.json b/libs/remix-ui/abstract-panel/.eslintrc.json deleted file mode 100644 index 50e59482cf..0000000000 --- a/libs/remix-ui/abstract-panel/.eslintrc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": ["plugin:@nrwl/nx/react", "../../../.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ] -} diff --git a/libs/remix-ui/abstract-panel/README.md b/libs/remix-ui/abstract-panel/README.md deleted file mode 100644 index afe064e666..0000000000 --- a/libs/remix-ui/abstract-panel/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# remix-ui-abstract-panel - -This library was generated with [Nx](https://nx.dev). - -## Running unit tests - -Run `nx test remix-ui-abstract-panel` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/libs/remix-ui/abstract-panel/package.json b/libs/remix-ui/abstract-panel/package.json deleted file mode 100644 index d2d23f51ff..0000000000 --- a/libs/remix-ui/abstract-panel/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "@remix-ui/abstract-panel", - "version": "0.0.1" -} diff --git a/libs/remix-ui/abstract-panel/src/index.ts b/libs/remix-ui/abstract-panel/src/index.ts deleted file mode 100644 index 2cc84aaa4c..0000000000 --- a/libs/remix-ui/abstract-panel/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lib/remix-ui-abstract-panel'; diff --git a/libs/remix-ui/abstract-panel/src/lib/abstract-panel-hoc.tsx b/libs/remix-ui/abstract-panel/src/lib/abstract-panel-hoc.tsx deleted file mode 100644 index 87fe6e225e..0000000000 --- a/libs/remix-ui/abstract-panel/src/lib/abstract-panel-hoc.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react' - -function AbstractPanelHOC (WrappedComponent: any) { - return (WrappedComponent: any) => { - const WithAbstractPanel = (props: any) => { - return ( - - ) - } - return WithAbstractPanel; - } -} - -export default AbstractPanelHOC \ No newline at end of file diff --git a/libs/remix-ui/abstract-panel/src/lib/remix-ui-abstract-panel.module.css b/libs/remix-ui/abstract-panel/src/lib/remix-ui-abstract-panel.module.css deleted file mode 100644 index 8ab5f0b1c8..0000000000 --- a/libs/remix-ui/abstract-panel/src/lib/remix-ui-abstract-panel.module.css +++ /dev/null @@ -1,16 +0,0 @@ -.plugins { - height: 100%; -} -.plugItIn { - display : none; - height : 100%; -} -.plugItIn > div { - overflow-y : auto; - overflow-x : hidden; - height : 100%; - width : 100%; -} -.plugItIn.active { - display : block; -} \ No newline at end of file diff --git a/libs/remix-ui/abstract-panel/src/lib/remix-ui-abstract-panel.tsx b/libs/remix-ui/abstract-panel/src/lib/remix-ui-abstract-panel.tsx deleted file mode 100644 index 629543aa5a..0000000000 --- a/libs/remix-ui/abstract-panel/src/lib/remix-ui-abstract-panel.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React, { useEffect, useState } from 'react' // eslint-disable-line -import './remix-ui-abstract-panel.module.css'; -import parse from 'html-react-parser' - -/* eslint-disable-next-line */ -export interface RemixUiAbstractPanelProps { - reactView: any, - plugin: any -} - -export function RemixUiAbstractPanel(props: RemixUiAbstractPanelProps) { - - const [loading, setLoading] = useState(false); - - return ( -
- -
- ) -} - -export default RemixUiAbstractPanel; diff --git a/libs/remix-ui/abstract-panel/tsconfig.json b/libs/remix-ui/abstract-panel/tsconfig.json deleted file mode 100644 index 8bd701c578..0000000000 --- a/libs/remix-ui/abstract-panel/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "compilerOptions": { - "jsx": "react-jsx", - "allowJs": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true - }, - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - } - ] -} diff --git a/libs/remix-ui/abstract-panel/tsconfig.lib.json b/libs/remix-ui/abstract-panel/tsconfig.lib.json deleted file mode 100644 index b560bc4dec..0000000000 --- a/libs/remix-ui/abstract-panel/tsconfig.lib.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../../dist/out-tsc", - "types": ["node"] - }, - "files": [ - "../../../node_modules/@nrwl/react/typings/cssmodule.d.ts", - "../../../node_modules/@nrwl/react/typings/image.d.ts" - ], - "exclude": ["**/*.spec.ts", "**/*.spec.tsx"], - "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] -} diff --git a/libs/remix-ui/main-panel/src/lib/remix-ui-main-panel.tsx b/libs/remix-ui/main-panel/src/lib/remix-ui-main-panel.tsx index 376841d2f3..dd3cd5820b 100644 --- a/libs/remix-ui/main-panel/src/lib/remix-ui-main-panel.tsx +++ b/libs/remix-ui/main-panel/src/lib/remix-ui-main-panel.tsx @@ -1,117 +1,17 @@ -import React, { useEffect, useState } from 'react' // eslint-disable-line +import React, { useEffect, useState, useRef } from 'react' // eslint-disable-line import './remix-ui-main-panel.module.css'; /* eslint-disable-next-line */ export interface RemixUiMainPanelProps { plugin: any + contents: [any] } export const RemixUiMainPanel = (props: RemixUiMainPanelProps) => { - - const [invertNumber, setInvertNumber] = useState(0) - - const handlePluginCall = (pluginName: string) => { - props.plugin.call('menuicons', 'select', pluginName) - props.plugin.call(pluginName, pluginName, '') - } - - - + const dom = useRef(null) return ( -
-
-
-
-
-
- - -
-
Quicklinks
- Guidefor migrating the old File System -

Migration tools:

-
  • - Basic migration -
  • -
  • Download all Files as a backup zip
  • -
  • Restore filesfrom backup zip
  • -

    Help:

    - -
    -
    -
    -
    -
    -
    -

    Featured Plugins

    -
    - - - - - -
    -
    -
    -
    -

    File

    -

    New File

    -

    -

    Connect to Localhost

    -

    -
    - {/* */} -
    - {/* */} -
    -

    Resources

    -

    Documentation

    -

    Gitter channel

    -

    Featuring website

    -

    Old experience

    -
    -
    -
    -
    - {/* */} -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - {/* */} -
    -
    -
    -
    -
    -
    -
    +
    +
    ) } diff --git a/libs/remix-ui/side-panel/src/lib/remix-ui-side-panel.tsx b/libs/remix-ui/side-panel/src/lib/remix-ui-side-panel.tsx index 129a3068b1..bdccedc6fc 100644 --- a/libs/remix-ui/side-panel/src/lib/remix-ui-side-panel.tsx +++ b/libs/remix-ui/side-panel/src/lib/remix-ui-side-panel.tsx @@ -5,6 +5,7 @@ import './remix-ui-side-panel.module.css'; /* eslint-disable-next-line */ export interface RemixUiSidePanelProps { plugin: any + contents: any } export function RemixUiSidePanel(props: RemixUiSidePanelProps) { @@ -68,6 +69,9 @@ export function RemixUiSidePanel(props: RemixUiSidePanelProps) { zIndex: "999", }} > {renderHeader()} +
    + {props.contents} +
    ); } diff --git a/nx.json b/nx.json index decbde03bd..bf26ace9d8 100644 --- a/nx.json +++ b/nx.json @@ -142,9 +142,6 @@ "remix-ui-main-panel": { "tags": [] }, - "remix-ui-abstract-panel": { - "tags": [] - }, "remix-ui-side-panel": { "tags": [] } diff --git a/tsconfig.base.json b/tsconfig.base.json index 8c956056c7..dd7f9d7c37 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -69,7 +69,6 @@ "@remix-ui/helper": ["libs/remix-ui/helper/src/index.ts"], "@remix-ui/vertical-icons-panel": ["libs/remix-ui/vertical-icons-panel/src/index.ts"], "@remix-ui/main-panel": ["libs/remix-ui/main-panel/src/index.ts"], - "@remix-ui/abstract-panel": ["libs/remix-ui/abstract-panel/src/index.ts"], "@remix-ui/side-panel": ["libs/remix-ui/side-panel/src/index.ts"] } }, diff --git a/workspace.json b/workspace.json index c6b94ddad8..76e06a7334 100644 --- a/workspace.json +++ b/workspace.json @@ -1150,24 +1150,6 @@ } } }, - "remix-ui-abstract-panel": { - "root": "libs/remix-ui/abstract-panel", - "sourceRoot": "libs/remix-ui/abstract-panel/src", - "projectType": "library", - "architect": { - "lint": { - "builder": "@nrwl/linter:lint", - "options": { - "linter": "eslint", - "tsConfig": ["libs/remix-ui/abstract-panel/tsconfig.lib.json"], - "exclude": [ - "**/node_modules/**", - "!libs/remix-ui/abstract-panel/**/*" - ] - } - } - } - }, "remix-ui-side-panel": { "root": "libs/remix-ui/side-panel", "sourceRoot": "libs/remix-ui/side-panel/src",