CompileTab: more minor refactorings

pull/3094/head
serapath 7 years ago
parent 1fec2b1ea4
commit 07f1156b61
  1. 35
      src/app/tabs/compile-tab.js

@ -136,28 +136,14 @@ module.exports = class CompileTab {
${warnCompilationSlow}
</div>
</div>`
function updateAutoCompile (event) { self._opts.config.set('autoCompile', self._view.autoCompile.checked) }
function compile (event) { self._api.runCompiler() }
// compileContainer.querySelector('#compile').addEventListener('click', () => {
// self._api.runCompiler()
// })
// var autoCompileInput = compileContainer.querySelector('#autoCompile')
// var autoCompile = false
// if (opts.config.exists('autoCompile')) {
// autoCompile = opts.config.get('autoCompile')
// }
// opts.config.set('autoCompile', autoCompile)
// self._view.autoCompile.addEventListener('change', function () {
//
// })
var errorContainer = yo`<div class='error'></div>`
var contractsDetails = {}
var contractNames = yo`<select class="${css.contractNames}" disabled></select>`
var contractEl = yo`
<div class="${css.container}">
<select class="${css.contractNames}" disabled></select>
${contractNames}
<div class="${css.contractButtons}">
<div title="Display Contract Details" class="${css.details}" onclick=${() => { details() }}>Details</div>
<div title="Publish on Swarm" class="${css.publish}" onclick=${() => { publish() }}>Publish on Swarm</div>
<div title="Display Contract Details" class="${css.details}" onclick=${details}>Details</div>
<div title="Publish on Swarm" class="${css.publish}" onclick=${publish}>Publish on Swarm</div>
</div>
</div>`
var el = yo`
@ -166,27 +152,28 @@ module.exports = class CompileTab {
${contractEl}
${errorContainer}
</div>`
function updateAutoCompile (event) { self._opts.config.set('autoCompile', self._view.autoCompile.checked) }
function compile (event) { self._api.runCompiler() }
function getContractNames (success, data) {
var contractNames = document.querySelector(`.${css.contractNames.classNames[0]}`)
contractNames.innerHTML = ''
if (success) {
contractNames.removeAttribute('disabled')
opts.compiler.visitContracts((contract) => {
contractsDetails[contract.name] = parseContracts(contract.name, contract.object, opts.compiler.getSource(contract.file))
self.data.contractsDetails[contract.name] = parseContracts(contract.name, contract.object, opts.compiler.getSource(contract.file))
var contractName = yo`<option>${contract.name}</option>`
contractNames.appendChild(contractName)
})
self._api.resetDapp(contractsDetails)
self._api.resetDapp(self.data.contractsDetails)
} else {
contractNames.setAttribute('disabled', true)
self._api.resetDapp({})
}
}
function details () {
var select = contractEl.querySelector('select')
var select = contractNames
if (select.children.length > 0 && select.selectedIndex >= 0) {
var contractName = select.children[select.selectedIndex].innerHTML
var contractProperties = contractsDetails[contractName]
var contractProperties = self.data.contractsDetails[contractName]
var log = yo`<div class="${css.detailsJSON}"></div>`
Object.keys(contractProperties).map(propertyName => {
var copyDetails = yo`<span class="${css.copyDetails}">
@ -262,7 +249,7 @@ module.exports = class CompileTab {
function publish () {
var selectContractNames = document.querySelector(`.${css.contractNames.classNames[0]}`)
if (selectContractNames.children.length > 0 && selectContractNames.selectedIndex >= 0) {
var contract = contractsDetails[selectContractNames.children[selectContractNames.selectedIndex].innerHTML]
var contract = self.data.contractsDetails[selectContractNames.children[selectContractNames.selectedIndex].innerHTML]
if (contract.metadata === undefined || contract.metadata.length === 0) {
modalDialogCustom.alert('This contract does not implement all functions and thus cannot be published.')
} else {

Loading…
Cancel
Save