diff --git a/src/app/panels/righthand-panel.js b/src/app/panels/righthand-panel.js index 94e75752b7..84aff7cceb 100644 --- a/src/app/panels/righthand-panel.js +++ b/src/app/panels/righthand-panel.js @@ -37,9 +37,8 @@ function RighthandPanel (appAPI = {}, events = {}, opts = {}) { ` - appAPI.switchTab = (tabClass) => { - this.event.trigger('switchTab', [tabClass]) - } + // selectTabByClassName + appAPI.switchTab = tabClass => self._view.tabbedMenu.selectTabByClassName(tabClass) events.rhp = self.event diff --git a/src/app/tabs/styles/tabbed-menu-styles.js b/src/app/tabs/styles/tabbed-menu-styles.js deleted file mode 100644 index a076ae1131..0000000000 --- a/src/app/tabs/styles/tabbed-menu-styles.js +++ /dev/null @@ -1,38 +0,0 @@ -var csjs = require('csjs-inject') -var styleGuide = require('../../ui/styles-guide/theme-chooser') -var styles = styleGuide.chooser() - -var css = csjs` - li.active { - background-color: ${styles.rightPanel.backgroundColor_Tab}; - color: ${styles.appProperties.mainText_Color} - } - .options { - float: left; - padding-top: 0.7em; - min-width: 60px; - font-size: 0.9em; - cursor: pointer; - font-size: 1em; - text-align: center; - } - .opts { - display: flex; - list-style: none; - margin: 0; - padding: 0; - } - .opts_li { - display: block; - font-weight: bold; - color: ${styles.rightPanel.text_Teriary} - } - .opts_li.active { - color: ${styles.rightPanel.text_Primary} - } - .opts_li:hover { - color: ${styles.rightPanel.icon_HoverColor_TogglePanel} - } -` - -module.exports = css diff --git a/src/app/tabs/tabbed-menu.js b/src/app/tabs/tabbed-menu.js index 85d402febb..ba70f27636 100644 --- a/src/app/tabs/tabbed-menu.js +++ b/src/app/tabs/tabbed-menu.js @@ -1,52 +1,101 @@ var yo = require('yo-yo') +var csjs = require('csjs-inject') +var remixLib = require('remix-lib') + var helper = require('../../lib/helper') +var styles = require('../ui/styles-guide/theme-chooser').chooser() -var css = require('./styles/tabbed-menu-styles') +var EventManager = remixLib.EventManager -class TabbedMenu { +module.exports = class TabbedMenu { constructor (api = {}, events = {}, opts = {}) { - var self = this - var tabView = document.createElement('ul') - this.tabView = tabView - this.events = events - this.tabs = {} - this.contents = {} - + const self = this + self.event = new EventManager() + self._opts = opts + self._api = api + self._events = events + self._view = { el: null, viewport: null, tabs: {}, contents: {} } events.app.register('debuggingRequested', () => { - self.selectTab(tabView.querySelector('li.debugView')) - }) - - events.rhp.register('switchTab', tabName => { - self.selectTab(tabView.querySelector(`li.${tabName}`)) + self.selectTabByTitle('Debugger') }) } - render () { return this.tabView } + render () { + const self = this + if (self._view.el) return self._view.el + self._view.el = yo`
` + return self._view.el + } + renderViewport () { + const self = this + if (self._view.viewport) return self._view.viewport + self._view.viewport = yo` +