@ -1,3 +1,5 @@
/* global alert, confirm, prompt, Option, Worker, soljsonSources */
var $ = require ( 'jquery' ) ;
var utils = require ( './app/utils' ) ;
@ -19,14 +21,12 @@ window.addEventListener('message', function (ev) {
} , false ) ;
var run = function ( ) {
function loadFiles ( files ) {
for ( var f in files ) {
var key = utils . fileKey ( f ) ;
var content = files [ f ] . content ;
if ( key in window . localStorage && window . localStorage [ key ] !== content ) {
var count = '' ;
var otherKey = key + count ;
while ( ( key + count ) in window . localStorage ) count = count - 1 ;
window . localStorage [ key + count ] = window . localStorage [ key ] ;
}
@ -44,7 +44,6 @@ var run = function () {
loadFiles ( filesToLoad ) ;
}
// ------------------ query params (hash) ----------------
function syncQueryParams ( ) {
@ -55,8 +54,9 @@ var run = function () {
syncQueryParams ( ) ;
// -------- check file upload capabilities -------
if ( ! ( window . File || window . FileReader || window . FileList || window . Blob ) ) {
$ ( ".uploadFile" ) . remove ( ) ;
$ ( '.uploadFile' ) . remove ( ) ;
}
// ------------------ gist load ----------------
@ -78,19 +78,16 @@ var run = function () {
} ) ;
} ) ;
// ----------------- storage --------------------
var storageHandler = new StorageHandler ( updateFiles ) ;
window . syncStorage = storageHandler . sync ;
storageHandler . sync ( ) ;
// ----------------- editor ----------------------
var editor = new Editor ( loadingFromGist ) ;
// ----------------- tabbed menu -------------------
$ ( '#options li' ) . click ( function ( ev ) {
@ -108,12 +105,10 @@ var run = function () {
}
} ) ;
// ------------------ gist publish --------------
$ ( '#gist' ) . click ( function ( ) {
if ( confirm ( 'Are you sure you want to publish all your files anonymously as a public gist on github.com?' ) ) {
var files = editor . packageFiles ( ) ;
var description = 'Created using browser-solidity: Realtime Ethereum Contract Compiler and Runtime. \n Load this file by pasting this gists URL or ID at https://ethereum.github.io/browser-solidity/#version=' + queryParams . get ( ) . version + '&optimize=' + queryParams . get ( ) . optimize + '&gist=' ;
@ -142,7 +137,7 @@ var run = function () {
return ;
}
var files = editor . packageFiles ( ) ;
var iframe = $ ( '<iframe/>' , { src : target , style : 'display:none;' , load : function ( ) {
$ ( '<iframe/>' , { src : target , style : 'display:none;' , load : function ( ) {
this . contentWindow . postMessage ( [ 'loadFiles' , files ] , '*' ) ;
} } ) . appendTo ( 'body' ) ;
} ) ;
@ -237,7 +232,6 @@ var run = function () {
return $ ( '#files .file' ) . filter ( function ( ) { return $ ( this ) . find ( '.name' ) . text ( ) === name ; } ) ;
}
function updateFiles ( ) {
var $filesEl = $ ( '#files' ) ;
var files = editor . getFiles ( ) ;
@ -276,9 +270,9 @@ var run = function () {
return itemsWidth ;
}
function widthOfHidden ( ) {
return ( $filesWrapper . outerWidth ( ) - widthOfList ( ) - getLeftPosi ( ) ) ;
}
// function widthOfHidden () {
// return ($filesWrapper.outerWidth() - widthOfList() - getLeftPosi());
// }
function widthOfVisible ( ) {
return $filesWrapper . outerWidth ( ) ;
@ -295,7 +289,7 @@ var run = function () {
}
function reAdjust ( ) {
if ( widthOfList ( ) + getLeftPosi ( ) > + widthOfVisible ( ) ) {
if ( widthOfList ( ) + getLeftPosi ( ) > widthOfVisible ( ) ) {
$scrollerRight . fadeIn ( 'fast' ) ;
} else {
$scrollerRight . fadeOut ( 'fast' ) ;
@ -390,7 +384,6 @@ var run = function () {
if ( cachedSize ) setEditorSize ( cachedSize ) ;
else getEditorSize ( ) ;
// ----------------- toggle right hand panel -----------------
var hidingRHP = false ;
@ -416,12 +409,10 @@ var run = function () {
document . querySelector ( '#editor' ) . addEventListener ( 'change' , onResize ) ;
document . querySelector ( '#editorWrap' ) . addEventListener ( 'change' , onResize ) ;
// ----------------- compiler output renderer ----------------------
$ ( '.asmOutput button' ) . click ( function ( ) { $ ( this ) . parent ( ) . find ( 'pre' ) . toggle ( ) ; } ) ;
// ----------------- compiler ----------------------
function handleGithubCall ( root , path , cb ) {