From b82a617d737cdafd3febaeb4f5f2a61005364a44 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Sat, 21 Jan 2023 01:17:23 +0100 Subject: [PATCH] add solidity-umlgen builtin plugin --- apps/remix-ide/src/app.js | 10 ++++-- .../src/app/plugins/solidity-umlgen.tsx | 31 +++++++++++++++++++ apps/remix-ide/src/remixAppManager.js | 2 +- .../src/lib/contract-selection.tsx | 4 +-- .../src/lib/solidity-uml-gen.tsx | 4 +-- 5 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 apps/remix-ide/src/app/plugins/solidity-umlgen.tsx diff --git a/apps/remix-ide/src/app.js b/apps/remix-ide/src/app.js index 303d06f8c0..86ddd0a1d7 100644 --- a/apps/remix-ide/src/app.js +++ b/apps/remix-ide/src/app.js @@ -35,6 +35,7 @@ import { Injected0ptimismProvider } from './app/tabs/injected-optimism-provider' import { InjectedArbitrumOneProvider } from './app/tabs/injected-arbitrum-one-provider' import { FileDecorator } from './app/plugins/file-decorator' import { CodeFormat } from './app/plugins/code-format' +import { SolidityUmlGen } from './app/plugins/solidity-umlgen' const isElectron = require('is-electron') @@ -173,6 +174,9 @@ class AppComponent { //----- search const search = new SearchPlugin() + //---------------- Solidity UML Generator ------------------------- + const solidityumlgen = new SolidityUmlGen() + // ----------------- import content service ------------------------ const contentImport = new CompilerImports() @@ -265,7 +269,8 @@ class AppComponent { injected0ptimismProvider, injectedArbitrumOneProvider, this.walkthroughService, - search + search, + solidityumlgen ]) // LAYOUT & SYSTEM VIEWS @@ -378,9 +383,10 @@ class AppComponent { await this.appManager.activatePlugin(['sidePanel']) // activating host plugin separately await this.appManager.activatePlugin(['home']) await this.appManager.activatePlugin(['settings', 'config']) - await this.appManager.activatePlugin(['hiddenPanel', 'pluginManager', 'codeParser', 'codeFormatter', 'fileDecorator', 'terminal', 'blockchain', 'fetchAndCompile', 'contentImport', 'gistHandler']) + await this.appManager.activatePlugin(['hiddenPanel', 'pluginManager', 'codeParser', 'codeFormatter', 'fileDecorator', 'terminal', 'blockchain', 'fetchAndCompile', 'contentImport', 'gistHandler', 'solidityumlgen']) await this.appManager.activatePlugin(['settings']) await this.appManager.activatePlugin(['walkthrough', 'storage', 'search', 'compileAndRun', 'recorder']) + // await this.appManager.activatePlugin(['solidityumlgen']) this.appManager.on( 'filePanel', diff --git a/apps/remix-ide/src/app/plugins/solidity-umlgen.tsx b/apps/remix-ide/src/app/plugins/solidity-umlgen.tsx new file mode 100644 index 0000000000..f9b40b7d71 --- /dev/null +++ b/apps/remix-ide/src/app/plugins/solidity-umlgen.tsx @@ -0,0 +1,31 @@ +/* eslint-disable @nrwl/nx/enforce-module-boundaries */ +import { ViewPlugin } from '@remixproject/engine-web' +import React from 'react' +// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries +import { RemixUiSolidityUmlGen } from '@remix-ui/solidity-uml-gen' + +const profile = { + name: 'solidityumlgen', + displayName: 'Solidity UML Generator', + description: '', + location: 'mainPanel', + methods: [''], + events: [], +} + +export class SolidityUmlGen extends ViewPlugin { + element: HTMLElement + constructor() { + super(profile) + this.element = document.createElement('div') + this.element.setAttribute('id', 'sol-uml-gen') + } + + hi() { + console.log('hello yourself') + } + + render() { + return
+ } +} \ No newline at end of file diff --git a/apps/remix-ide/src/remixAppManager.js b/apps/remix-ide/src/remixAppManager.js index 48e367c10c..9522ab5f28 100644 --- a/apps/remix-ide/src/remixAppManager.js +++ b/apps/remix-ide/src/remixAppManager.js @@ -11,7 +11,7 @@ const requiredModules = [ // services + layout views + system views 'filePanel', 'terminal', 'settings', 'pluginManager', 'tabs', 'udapp', 'dGitProvider', 'solidity', 'solidity-logic', 'gistHandler', 'layout', 'notification', 'permissionhandler', 'walkthrough', 'storage', 'restorebackupzip', 'link-libraries', 'deploy-libraries', 'openzeppelin-proxy', 'hardhat-provider', 'ganache-provider', 'foundry-provider', 'basic-http-provider', 'injected-optimism-provider', 'injected-arbitrum-one-provider', - 'compileAndRun', 'search', 'recorder', 'fileDecorator', 'codeParser', 'codeFormatter'] + 'compileAndRun', 'search', 'recorder', 'fileDecorator', 'codeParser', 'codeFormatter', 'solidityumlgen'] // dependentModules shouldn't be manually activated (e.g hardhat is activated by remixd) const dependentModules = ['foundry', 'hardhat', 'truffle', 'slither'] diff --git a/libs/remix-ui/solidity-compiler/src/lib/contract-selection.tsx b/libs/remix-ui/solidity-compiler/src/lib/contract-selection.tsx index 4d39d69e39..94104017af 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/contract-selection.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/contract-selection.tsx @@ -261,7 +261,7 @@ export const ContractSelection = (props: ContractSelectionProps) => {
- { - + */}