diff --git a/src/app/debugger/debuggerUI/VmDebugger.js b/src/app/debugger/debuggerUI/VmDebugger.js index 256dad80b0..f787a3ae99 100644 --- a/src/app/debugger/debuggerUI/VmDebugger.js +++ b/src/app/debugger/debuggerUI/VmDebugger.js @@ -2,7 +2,7 @@ var csjs = require('csjs-inject') var CodeListView = require('./vmDebugger/CodeListView') var CalldataPanel = require('./vmDebugger/CalldataPanel') -var MemoryPanel = require('../remix-debugger/src/ui/MemoryPanel') +var MemoryPanel = require('./vmDebugger/MemoryPanel') var CallstackPanel = require('../remix-debugger/src/ui/CallstackPanel') var StackPanel = require('../remix-debugger/src/ui/StackPanel') var StoragePanel = require('../remix-debugger/src/ui/StoragePanel') diff --git a/src/app/debugger/debuggerUI/vmDebugger/MemoryPanel.js b/src/app/debugger/debuggerUI/vmDebugger/MemoryPanel.js new file mode 100644 index 0000000000..c37cf48b2c --- /dev/null +++ b/src/app/debugger/debuggerUI/vmDebugger/MemoryPanel.js @@ -0,0 +1,39 @@ +'use strict' +var DropdownPanel = require('./DropdownPanel') +var remixLib = require('remix-lib') +var ui = remixLib.helpers.ui +var yo = require('yo-yo') + +function MemoryPanel (_parent, _traceManager) { + this.parent = _parent + this.traceManager = _traceManager + this.basicPanel = new DropdownPanel('Memory', { + json: true, + css: { + 'font-family': 'monospace' + }}) + this.init() +} + +MemoryPanel.prototype.render = function () { + return yo`
${this.basicPanel.render()}
` +} + +MemoryPanel.prototype.init = function () { + var self = this + this.parent.event.register('indexChanged', this, function (index) { + if (index < 0) return + if (self.parent.currentStepIndex !== index) return + + self.traceManager.getMemoryAt(index, function (error, memory) { + if (error) { + console.log(error) + self.basicPanel.update({}) + } else if (self.parent.currentStepIndex === index) { + self.basicPanel.update(ui.formatMemory(memory, 16)) + } + }) + }) +} + +module.exports = MemoryPanel