move tabs instanciation to app.js

pull/3094/head
yann300 6 years ago
parent 7e5a1a0495
commit aa168c64b5
  1. 24
      src/app.js
  2. 62
      src/app/panels/righthand-panel.js
  3. 3
      src/app/tabs/settings-tab.js

@ -36,6 +36,16 @@ var NotPersistedExplorer = require('./app/files/NotPersistedExplorer')
var toolTip = require('./app/ui/tooltip') var toolTip = require('./app/ui/tooltip')
var TransactionReceiptResolver = require('./transactionReceiptResolver') var TransactionReceiptResolver = require('./transactionReceiptResolver')
const CompilerAbstract = require('./app/compiler/compiler-abstract')
const PluginManager = require('./app/plugin/pluginManager')
const CompileTab = require('./app/tabs/compile-tab')
const SettingsTab = require('./app/tabs/settings-tab')
const AnalysisTab = require('./app/tabs/analysis-tab')
const DebuggerTab = require('./app/tabs/debugger-tab')
const SupportTab = require('./app/tabs/support-tab')
const TestTab = require('./app/tabs/test-tab')
const RunTab = require('./app/tabs/run-tab')
var styleGuide = require('./app/ui/styles-guide/theme-chooser') var styleGuide = require('./app/ui/styles-guide/theme-chooser')
var styles = styleGuide.chooser() var styles = styleGuide.chooser()
@ -389,8 +399,20 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
var renderer = new Renderer() var renderer = new Renderer()
registry.put({api: renderer, name: 'renderer'}) registry.put({api: renderer, name: 'renderer'})
// ---------------- Tabs -------------------------------
let compileTab = new CompileTab(self._components.registry)
let tabs = {
compile: compileTab,
run: new RunTab(self._components.registry),
settings: new SettingsTab(self._components.registry),
analysis: new AnalysisTab(self._components.registry),
debug: new DebuggerTab(self._components.registry),
support: new SupportTab(self._components.registry),
test: new TestTab(self._components.registry, compileTab)
}
// ---------------- Righthand-panel -------------------- // ---------------- Righthand-panel --------------------
self._components.righthandpanel = new RighthandPanel() self._components.righthandpanel = new RighthandPanel({ tabs, pluginManager })
self._view.rightpanel.appendChild(self._components.righthandpanel.render()) self._view.rightpanel.appendChild(self._components.righthandpanel.render())
self._components.righthandpanel.init() self._components.righthandpanel.init()
self._components.righthandpanel.event.register('resize', delta => self._adjustLayout('right', delta)) self._components.righthandpanel.event.register('resize', delta => self._adjustLayout('right', delta))

@ -5,22 +5,14 @@ const EventManager = require('../../lib/events')
var globalRegistry = require('../../global/registry') var globalRegistry = require('../../global/registry')
const styleguide = require('../ui/styles-guide/theme-chooser') const styleguide = require('../ui/styles-guide/theme-chooser')
const PluginManager = require('../plugin/pluginManager')
const TabbedMenu = require('../tabs/tabbed-menu') const TabbedMenu = require('../tabs/tabbed-menu')
const CompileTab = require('../tabs/compile-tab')
const SettingsTab = require('../tabs/settings-tab')
const AnalysisTab = require('../tabs/analysis-tab')
const DebuggerTab = require('../tabs/debugger-tab')
const SupportTab = require('../tabs/support-tab')
const PluginTab = require('../tabs/plugin-tab') const PluginTab = require('../tabs/plugin-tab')
const TestTab = require('../tabs/test-tab')
const RunTab = require('../tabs/run-tab')
const DraggableContent = require('../ui/draggableContent') const DraggableContent = require('../ui/draggableContent')
const styles = styleguide.chooser() const styles = styleguide.chooser()
module.exports = class RighthandPanel { module.exports = class RighthandPanel {
constructor (localRegistry) { constructor ({pluginManager, tabs}, localRegistry) {
const self = this const self = this
self._components = {} self._components = {}
self._components.registry = localRegistry || globalRegistry self._components.registry = localRegistry || globalRegistry
@ -33,57 +25,25 @@ module.exports = class RighthandPanel {
dragbar: null dragbar: null
} }
self._deps = {
fileProviders: self._components.registry.get('fileproviders').api,
fileManager: self._components.registry.get('filemanager').api,
compiler: self._components.registry.get('compiler').api,
udapp: self._components.registry.get('udapp').api,
app: self._components.registry.get('app').api,
txlistener: self._components.registry.get('txlistener').api
}
var tabbedMenu = new TabbedMenu(self._components.registry) var tabbedMenu = new TabbedMenu(self._components.registry)
var pluginManager = new PluginManager(
self._deps.app,
self._deps.compiler,
self._deps.txlistener,
self._deps.fileProviders,
self._deps.fileManager,
self._deps.udapp
)
self._components.registry.put({api: pluginManager, name: 'pluginmanager'})
var analysisTab = new AnalysisTab(self._components.registry)
analysisTab.event.register('newStaticAnaysisWarningMessage', (msg, settings) => { self._components.compile.addWarning(msg, settings) })
self._components.debuggerTab = new DebuggerTab(self._components.registry)
self._components = { self._components = {
pluginManager: pluginManager,
tabbedMenu: tabbedMenu, tabbedMenu: tabbedMenu,
compile: new CompileTab(self._components.registry), tabs
run: new RunTab(self._components.registry),
settings: new SettingsTab(self._components.registry),
analysis: analysisTab,
debug: self._components.debuggerTab,
support: new SupportTab(self._components.registry),
test: new TestTab(self._components.registry)
} }
self._components.settings.event.register('plugin-loadRequest', json => { self._components.tabs.settings.event.register('plugin-loadRequest', json => {
self.loadPlugin(json) self.loadPlugin(json)
}) })
self.loadPlugin = function (json) { self.loadPlugin = function (json) {
var modal = new DraggableContent(() => { var modal = new DraggableContent(() => {
self._components.pluginManager.unregister(json) pluginManager.unregister(json)
}) })
var tab = new PluginTab(json) var tab = new PluginTab(json)
var content = tab.render() var content = tab.render()
document.querySelector('body').appendChild(modal.render(json.title, json.url, content)) document.querySelector('body').appendChild(modal.render(json.title, json.url, content))
self._components.pluginManager.register(json, modal, content) pluginManager.register(json, modal, content)
} }
self._view.dragbar = yo`<div id="dragbar" class=${css.dragbar}></div>` self._view.dragbar = yo`<div id="dragbar" class=${css.dragbar}></div>`
@ -96,7 +56,7 @@ module.exports = class RighthandPanel {
</div> </div>
</div>` </div>`
const { compile, run, settings, analysis, debug, support, test } = self._components const { compile, run, settings, analysis, debug, support, test } = tabs
self._components.tabbedMenu.addTab('Compile', 'compileView', compile.render()) self._components.tabbedMenu.addTab('Compile', 'compileView', compile.render())
self._components.tabbedMenu.addTab('Run', 'runView', run.render()) self._components.tabbedMenu.addTab('Run', 'runView', run.render())
self._components.tabbedMenu.addTab('Analysis', 'staticanalysisView', analysis.render()) self._components.tabbedMenu.addTab('Analysis', 'staticanalysisView', analysis.render())
@ -106,11 +66,7 @@ module.exports = class RighthandPanel {
self._components.tabbedMenu.addTab('Support', 'supportView', support.render()) self._components.tabbedMenu.addTab('Support', 'supportView', support.render())
self._components.tabbedMenu.selectTabByTitle('Compile') self._components.tabbedMenu.selectTabByTitle('Compile')
} }
// showDebugger () {
// const self = this
// if (!self._components.tabbedMenu) return
// self._components.tabbedMenu.selectTab(self._view.el.querySelector('li.debugView'))
// }
render () { render () {
const self = this const self = this
if (self._view.element) return self._view.element if (self._view.element) return self._view.element
@ -118,7 +74,7 @@ module.exports = class RighthandPanel {
} }
debugger () { debugger () {
return this._components.debug.debugger() return this._components.tabs.debug.debugger()
} }
focusOn (x) { focusOn (x) {

@ -20,8 +20,7 @@ module.exports = class SettingsTab {
self._deps = { self._deps = {
config: self._components.registry.get('config').api, config: self._components.registry.get('config').api,
editorPanel: self._components.registry.get('editorpanel').api, editorPanel: self._components.registry.get('editorpanel').api,
editor: self._components.registry.get('editor').api, editor: self._components.registry.get('editor').api
righthandpanel: self._components.registry.get('righthandpanel').api
} }
self._view = { /* eslint-disable */ self._view = { /* eslint-disable */
el: null, el: null,

Loading…
Cancel
Save