Commit f2276b66 authored by ninabreznik's avatar ninabreznik

Contract tab - toggle

parent 695dcf32
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
.udapp .create { .udapp .create {
overflow: auto; overflow: auto;
margin-bottom: 1em; margin: 1em;
} }
.udapp .title { .udapp .title {
...@@ -203,7 +203,7 @@ ...@@ -203,7 +203,7 @@
} }
.udapp button { .udapp button {
background-color: #666; padding: .36em;
color: #4C4B4B; color: #4C4B4B;
cursor: pointer; cursor: pointer;
overflow: hidden; overflow: hidden;
......
...@@ -18,6 +18,17 @@ var css = csjs` ...@@ -18,6 +18,17 @@ var css = csjs`
width: 30%; width: 30%;
float: left; float: left;
} }
.toggle {
font-size: 1em;
text-decoration: underline;
color: ${styles.colors.blue};
margin: 1em;
cursor: pointer;
font-weight: 400;
}
.toggle:hover {
opacity: .8;
}
` `
// ---------------------------------------------- // ----------------------------------------------
...@@ -237,9 +248,25 @@ Renderer.prototype.contracts = function (data, source) { ...@@ -237,9 +248,25 @@ Renderer.prototype.contracts = function (data, source) {
var detailsOpen = {} var detailsOpen = {}
var getDetails = function (contract, source, contractName) { var getDetails = function (contract, source, contractName) {
var button = $('<button>Toggle Details</button>') var button = $(`<div class="${css.toggle}"><i class="fa fa-info-circle" aria-hidden="true"></i> Contract details (bytecode, interface etc.)</div>`)
var details = $('<div style="display: none;"/>') var details = $('<div style="display: none;"/>')
if (contract.bytecode) {
details.append(preRow('Bytecode', contract.bytecode))
}
details.append(preRow('Interface', contract['interface']))
if (contract.bytecode) {
details.append(preRow('Web3 deploy', gethDeploy(contractName.toLowerCase(), contract['interface'], contract.bytecode), 'deploy'))
// check if there's a metadata hash appended
var metadataHash = retrieveMetadataHash(contract.bytecode)
if (metadataHash) {
details.append(preRow('Metadata location', 'bzzr://' + metadataHash))
}
}
if (contract.metadata) { if (contract.metadata) {
details.append(preRow('Metadata', contract.metadata)) details.append(preRow('Metadata', contract.metadata))
} }
...@@ -282,22 +309,6 @@ Renderer.prototype.contracts = function (data, source) { ...@@ -282,22 +309,6 @@ Renderer.prototype.contracts = function (data, source) {
var self = this var self = this
var renderOutputModifier = function (contractName, $contractOutput) { var renderOutputModifier = function (contractName, $contractOutput) {
var contract = data.contracts[contractName] var contract = data.contracts[contractName]
if (contract.bytecode) {
$contractOutput.append(tableRow('Bytecode', contract.bytecode))
}
$contractOutput.append(tableRow('Interface', contract['interface']))
if (contract.bytecode) {
$contractOutput.append(preRow('Web3 deploy', gethDeploy(contractName.toLowerCase(), contract['interface'], contract.bytecode), 'deploy'))
// check if there's a metadata hash appended
var metadataHash = retrieveMetadataHash(contract.bytecode)
if (metadataHash) {
$contractOutput.append(tableRow('Metadata location', 'bzzr://' + metadataHash))
}
}
var ctrSource = self.appAPI.currentCompiledSourceCode() var ctrSource = self.appAPI.currentCompiledSourceCode()
if (ctrSource) { if (ctrSource) {
$contractOutput.append(getDetails(contract, ctrSource, contractName)) $contractOutput.append(getDetails(contract, ctrSource, contractName))
......
...@@ -6,17 +6,20 @@ function styleGuide () { ...@@ -6,17 +6,20 @@ function styleGuide () {
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
COLORS COLORS
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
var blue = '#9DC1F5' var colors = {
var lightBlue = '#F4F6FF' blue : '#9DC1F5',
var greyBlue = '#102026' lightBlue : '#F4F6FF',
var grey = '#666' greyBlue : '#102026',
var lightGrey = '#f8f8f8' grey : '#666',
var red = '#FF8080' lightGrey : '#f8f8f8',
var lightRed = '#FFB9B9' red : '#FF8080',
var green = '#B1EAC5' lightRed : '#FFB9B9',
var violet = '#C6CFF7' green : '#B1EAC5',
var pink = '#EC96EC' violet : '#C6CFF7',
var yellow = '#E6E5A7' pink : '#EC96EC',
yellow : '#E6E5A7'
}
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
FONTS FONTS
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
...@@ -130,6 +133,7 @@ function styleGuide () { ...@@ -130,6 +133,7 @@ function styleGuide () {
titleL: texts['title-L'], titleL: texts['title-L'],
titleM: texts['title-M'], titleM: texts['title-M'],
dropdown: buttons['dropdown-menu'], dropdown: buttons['dropdown-menu'],
button: buttons['button'] button: buttons['button'],
colors: colors
} }
} }
...@@ -9,8 +9,12 @@ var EventManager = require('./lib/eventManager') ...@@ -9,8 +9,12 @@ var EventManager = require('./lib/eventManager')
var crypto = require('crypto') var crypto = require('crypto')
var async = require('async') var async = require('async')
var TxRunner = require('./app/txRunner') var TxRunner = require('./app/txRunner')
var csjs = require('csjs-inject') var yo = require('yo-yo')
// -------------- styling ----------------------
var csjs = require('csjs-inject')
var styleGuide = require('./app/style-guide')
var styles = styleGuide()
var css = csjs` var css = csjs`
.options { .options {
float: left; float: left;
...@@ -207,7 +211,7 @@ UniversalDApp.prototype.getCreateInterface = function ($container, contract) { ...@@ -207,7 +211,7 @@ UniversalDApp.prototype.getCreateInterface = function ($container, contract) {
$createInterface.append($close) $createInterface.append($close)
} }
var $publishButton = $('<button class="publishContract"/>').text('Publish').click(function () { self.event.trigger('publishContract', [contract]) }) var $publishButton = $(`<button class="publishContract"/>`).text('Publish').click(function () { self.event.trigger('publishContract', [contract]) })
$createInterface.append($publishButton) $createInterface.append($publishButton)
var $atButton = $('<button class="atAddress"/>').text('At Address').click(function () { self.clickContractAt(self, $container.find('.createContract'), contract) }) var $atButton = $('<button class="atAddress"/>').text('At Address').click(function () { self.clickContractAt(self, $container.find('.createContract'), contract) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment