From 6281253d8a76b8381e66abd1f8d76334d6fa9b51 Mon Sep 17 00:00:00 2001 From: serapath Date: Wed, 20 Sep 2017 19:08:20 +0200 Subject: [PATCH] second concept draft recorder --- src/app.js | 16 +++++++++++----- src/recorder.js | 12 ++++++------ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/app.js b/src/app.js index 7a9594779c..f1e0ccb6fc 100644 --- a/src/app.js +++ b/src/app.js @@ -778,10 +778,8 @@ function run () { /**************************************************************************** RECORDER ****************************************************************************/ - var modal = { show: function showModal (args) { console.log('@TODO: open modal') } } - var recorder = new Recorder({ events: { - txlogger: txLogger.event, + udapp: udapp.event, executioncontext: executionContext.event }}) @@ -801,7 +799,7 @@ function run () { recordButton.onclick = () => { var txJSON = JSON.stringify(recorder.getAll(), null, 2) copy2clipboard(txJSON) - modal.show(txJSON) + modalDialogCustom.alert(txJSON) } runButton.onclick = () => { // on modal OR run tab var txArray = recorder.getAll() @@ -818,5 +816,13 @@ function run () { selectContractNames.value)) */ } - function copy2clipboard (json) { console.log('@TODO: copy 2 clipboard') } + function copy2clipboard (json) { + var textarea = document.createElement('textarea') + textarea.textContent = json + document.body.appendChild(textarea) + textarea.select() + try { document.execCommand('copy') } + catch (e) { } + finally { document.body.removeChild(textarea) } + } } diff --git a/src/recorder.js b/src/recorder.js index 65ea2f5d94..d72824d517 100644 --- a/src/recorder.js +++ b/src/recorder.js @@ -10,17 +10,17 @@ class Recorder { self.event = new EventManager() self.data = { journal: [] } opts.events.txlogger.register('initiatingTransaction', (stamp, tx) => { - var { from, to, value, gas, data /*, gasPrice?, nonce? */ } = tx - from = self.translate(from) // see comments above regarding what `translate(...)` is doing + var { from, to, value, gas, data } = tx + from = self.translate(from) to = self.translate(to) - var deTx = { from, to, value, gas, data /*, gasPrice?, nonce? */ } + var deTx = { from, to, value, gas, data } self.append(stamp, deTx) }) - opts.events.txlogger.register('transactionExecuted', args => { + opts.events.udapp.register('transactionExecuted', args => { var [err, from, to, data, isUserCall, result, stamp] = args console.log('@TODO: should i do something here?') }) - opts.events.txlogger.register('callExecuted', args => { + opts.events.udapp.register('callExecuted', args => { var [err, from, to, data, isUserCall, result, stamp] = args console.log('@TODO: should i do something here?') }) @@ -49,7 +49,7 @@ class Recorder { var self = this self.data.journal.push({ timestamp, record }) } - getAllJSON () { + getAll () { var self = this var records = [].concat(self.data.journal) return records.sort((A, B) => {