Commit 798c6443 authored by Alex Beregszaszi's avatar Alex Beregszaszi

Show a disabled Create button for abstract contracts

parent c8292108
......@@ -216,6 +216,12 @@
width: 21px;
}
.udapp .contractProperty button:disabled {
cursor: not-allowed;
background-color: white;
border-color: lightgray;
}
.udapp .contractProperty .call {
background-color: #FF8B8B;
border-color: #FF8B8B;
......
......@@ -216,11 +216,19 @@ UniversalDApp.prototype.getCreateInterface = function ($container, contract) {
var $atButton = $('<button class="atAddress"/>').text('At Address').click(function () { self.clickContractAt(self, $container.find('.createContract'), contract); });
$createInterface.append($atButton);
// Only display creation interface for non-abstract contracts.
// FIXME: maybe have a flag for this in the JSON?
if (contract.bytecode.length !== 0) {
var $newButton = self.getInstanceInterface(contract);
$createInterface.append($newButton);
// Only display creation interface for non-abstract contracts.
// FIXME: maybe have a flag for this in the JSON?
// FIXME: maybe fix getInstanceInterface() below for this case
if (contract.bytecode.length === 0) {
var $createButton = $newButton.find('.constructor .call');
// NOTE: we must show the button to have CSS properly lined up
$createButton.text('Create');
$createButton.attr('disabled', 'disabled');
$createButton.attr('title', 'This contract does not implement all functions and thus cannot be created.');
}
return $createInterface;
......
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