diff --git a/iguana/js/api.js b/iguana/js/api.js index bef6492ed..871dae84e 100755 --- a/iguana/js/api.js +++ b/iguana/js/api.js @@ -14,6 +14,12 @@ var SPNAPI = (function(SPNAPI, $, undefined) { SPNAPI.pages = ["Settings", "eyedea", "Peers","Debug", "Coins", "Blockexplorer"]; SPNAPI.pageContent = {}; SPNAPI.page = "welcome"; + /* + * added variables for flexibility + */ + SPNAPI.usePexe=true; + SPNAPI.domain="http://127.0.0.1"; + SPNAPI.port="7778"; $(document).ready(function() { //load Pages into the navbar @@ -26,6 +32,12 @@ var SPNAPI = (function(SPNAPI, $, undefined) { var page = $(this).data("page"); $(".navigation").removeClass("active"); SPNAPI.loadSite(page); + console.log(page); + if(page==="Peers"){ + peer_resonse=[]; + getPeerList(); + } + }); $(".page").hide(); $("#welcome_page").show(); @@ -59,7 +71,7 @@ var SPNAPI = (function(SPNAPI, $, undefined) { SPNAPI.makeRequest = function( request, callback ) { // check if tag is already included in request request = JSON.parse( request ); - if ( request.tag == undefined ) { + if ( request.tag === undefined ) { request = JSON.stringify( request ); var tag = tagGen(18); request = request.substr(0, request.length - 1); @@ -68,11 +80,63 @@ var SPNAPI = (function(SPNAPI, $, undefined) { request = JSON.stringify( request ); } console.log('Requesting: ' + request); - postCall('iguana', request, function(response){ - console.log('Response is ' + response); + /* + * typeof nacl_module !== 'undefined' will test if pexe is loaded or not + */ + if(typeof nacl_module !== 'undefined' && SPNAPI.usePexe){ + postCall('iguana', request, function(response){ + console.log('pexe Response is ' + response); + //if(typeof callback === 'function'){ + callback(request, response); + + //} + }); + }else{ + request = JSON.parse( request ); + var url=SPNAPI.returnAJAXgetURL(request); + if(url!==false){ + + /* + * Ajax request will be sent if pexe is not loaded or + * if usepexe is set to false + * (this adds the user the ability to handle how requests are sent) + */ +$.ajax({ + type: "GET", + url: url + }).done(function( response ) { + console.log('AJAX Response is ' + response); + //if(typeof callback === 'function'){ callback(request, response); - }); + //} + }); + } + } + }; + + SPNAPI.returnAJAXgetURL=function(request){ + + var url=SPNAPI.domain+":"+SPNAPI.port+"/api/"; + if(request.method === undefined){ + console.log("Invalid request."); + return false; + } + if(request.agent=== undefined){ + url=url+"iguana/"; + }else{ + url=url+request.agent+"/"; + } - } + url=url+request.method+"/"; + + for(var i in request){ + if(i==="agent" ||i==="method"){ + continue; + } + url=url+i+"/"+request[i]+"/"; + } + console.log("Url generated from request:"+url); + return url; + }; return SPNAPI; }(SPNAPI || {}, jQuery)); diff --git a/iguana/js/old_js/test.js b/iguana/js/old_js/test.js deleted file mode 100755 index 274f06e30..000000000 --- a/iguana/js/old_js/test.js +++ /dev/null @@ -1,166 +0,0 @@ -var pages = [ - {value:"InstantDEX", width:100,"click":InstantDEX}, - { view:"button", value:"pangea", width:100,"click":Pangea }, - { view:"button", value:"Jumblr", width:100,"click":Jumblr }, - { view:"button", value:"Atomic", width:100,"click":Atomic }, - { view:"button", value:"MGW", width:100,"click":MGW }, - { view:"button", value:"PAX", width:100,"click":PAX }, - { view:"button", value:"Wallet", width:100,"click":Wallet }, - { view:"button", value:"Debug", width:100,"click":debuglog } -]; - - -var SPNAPI = (function(SPNAPI, $, undefined) { - - SPNAPI.methods.instantDEX = [ - {"id":1,"method":"allorderbooks","base":"","rel":"","exchange":"","price":"","volume":""}, - {"id":2,"method":"allexchanges","base":"","rel":"","exchange":"","price":"","volume":""}, - {"id":2,"method":"openorders","base":"","rel":"","exchange":"","price":"","volume":""}, - {"id":3,"method":"orderbook","base":"base","rel":"rel","exchange":"active","price":"","volume":""}, - {"id":4,"method":"placeask","base":"base","rel":"rel","exchange":"active","price":"price","volume":"volume"}, - {"id":5,"method":"placebid","base":"base","rel":"rel","exchange":"active","price":"price","volume":"volume"}, - {"id":6,"method":"orderstatus","base":"","rel":"","exchange":"","price":"","volume":"","orderid":"orderid"}, - {"id":7,"method":"cancelorder","base":"","rel":"","exchange":"","price":"","volume":"","orderid":"orderid"}, - {"id":8,"method":"enablequotes","base":"base","rel":"rel","exchange":"exchange","price":"","volume":""}, - {"id":9,"method":"disablequotes","base":"base","rel":"rel","exchange":"exchange","price":"","volume":""}, - {"id":10,"method":"lottostats","base":"","rel":"","exchange":"","price":"","volume":""}, - {"id":11,"method":"tradehistory","base":"","rel":"","exchange":"","price":"","volume":""}, - {"id":12,"method":"balance","base":"","rel":"","exchange":"exchange","price":"","volume":""}, - {"id":13,"method":"peggyrates","base":"base","rel":"","exchange":"","price":"","volume":""} - ]; - - SPNAPI.methods.pangea = [ - {"id":1,"method":"start","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante","hostrake":"hostrake"}, - {"id":2,"method":"status","tableid":"tableid"}, - {"id":3,"method":"turn","tableid":"tableid"}, - {"id":4,"method":"mode"}, - {"id":5,"method":"buyin","tableid":"tableid"}, - {"id":6,"method":"history","tableid":"tableid","handid":"handid"}, - {"id":7,"method":"rates","base":"base"}, - {"id":8,"method":"lobby"}, - {"id":9,"method":"tournaments"}, - {"id":10,"method":"rosetta","base":"base"} - ]; - - SPNAPI.methods.jumblr = [ - {"id":1,"method":"jumblr","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"}, - {"id":2,"method":"status","tableid":"tableid"} - ]; - - SPNAPI.methods.mgw =[ - {"id":1,"method":"MGW","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"}, - {"id":2,"method":"status","tableid":"tableid"} - ]; - - SPNAPI.methods.atomic = [ - {"id":1,"method":"atomic","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"}, - {"id":2,"method":"status","tableid":"tableid"} - ]; - - SPNAPI.methods.pax = [ - {"id":1,"method":"peggy","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"}, - {"id":2,"method":"status","tableid":"tableid"} - ]; - - SPNAPI.methods.wallet = [ - {"id":1,"method":"wallet","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"}, - {"id":2,"method":"status","tableid":"tableid"} - ]; - - - return SPNAPI; -}(SPNAPI || {}, jQuery)); - - - -var api_request = function(agent) -{ - var jsonstr = '';//$$("apirequest").getValues().jsonstr; - var base = $$("formA").getValues().base; - var rel = $$("formB").getValues().rel; - var exchange = $$("formC").getValues().exchange; - var price = $$("formD").getValues().price; - var volume = $$("formE").getValues().volume; - var orderid = $$("formF").getValues().orderid; - var method = $$("method").getValues().method; - var request = '{"agent":"' + agent + '","method":"' + method + '","base":"' + base + '","rel":"' + rel + '","exchange":"' + exchange + '","price":"' + price + '","volume":"' + volume + '","orderid":"' + orderid + '"' + jsonstr + '}'; - return(request); -} - -function submit_request(e) -{ - var request = $$("apirequest").getValues().jsonstr; - postCall('SuperNET', request, function(jsonstr) - { - $$("debuglog").add({value:jsonstr},0); - common.logMessage(jsonstr + '\n'); - }); -} - -function InstantDEX(e) -{ - $$('list').data.sync(Idata); - request = api_request('InstantDEX'); - $$("submitstr").setValue(request); - /*postCall('SuperNET', request, function(jsonstr) - { - $$("debuglog").add({value:jsonstr},0); - common.logMessage(jsonstr + '\n'); - });*/ -} - -function Pangea(e) -{ - $$('list').data.sync(Pdata); - request = api_request('pangea'); - $$("submitstr").setValue(request); -} - -function Jumblr(e) -{ - $$('list').data.sync(Jdata); - request = api_request('jumblr'); - $$("submitstr").setValue(request); -} - -function MGW(e) -{ - $$('list').data.sync(Mdata); - request = api_request('MGW'); - $$("submitstr").setValue(request); -} - -function Atomic(e) -{ - $$('list').data.sync(Adata); - request = api_request('atomic'); - $$("submitstr").setValue(request); -} - -function PAX(e) -{ - $$('list').data.sync(Xdata); - request = api_request('peggy'); - $$("submitstr").setValue(request); -} - -function Wallet(e) -{ - $$('list').data.sync(Wdata); - request = api_request('wallet'); - $$("submitstr").setValue(request); -} - -var debug_on = 0; -function debuglog(e) { - if ( debug_on == 0 ) - { - $(".debuglog").show(); - debug_on = 1; - } - else - { - $(".debuglog").hide(); - debug_on = 0; - } -} diff --git a/iguana/js/peerlist.js b/iguana/js/peerlist.js index 70806f4fe..16c5ff7f1 100644 --- a/iguana/js/peerlist.js +++ b/iguana/js/peerlist.js @@ -1,9 +1,15 @@ // placeholder of API peers response +/** + * + * @type Array + * (getpeers method will loop through this array to get list of peers) + * + */ var coin_types = ['BTC', 'BTCD']; - -var response = { +/* +var responseBTCD = { "peers": [ { "ipaddr": "127.0.0.1", @@ -299,55 +305,179 @@ var response = { "tag": "12697016274367621769" }; +*/ + +var peer_resonse=[];//=[responseBTCD,responseBTC]; + +var currentCoin=0; + + +/* + * Gets peer list using postCall or using AJAX GET request + * (further code will need modifications when native call will be implemented) + * (Above initialized usepostCall variable must be set to true if postCall is to be used) + * + */ +function getPeerList(){ + + if(currentCoin'; + var data=id+coin; + row = ''; row += '' + peer.ipaddr + ''; row += '' + peer.cointype + ''; row += '' + peer.height + ''; row += '' + peer.rank + ''; - if ($.inArray(id, favPeers) == -1) { - row += ''; + if ($.inArray(data, favPeers) === -1) { + row += ''; // row += 'bookmark_border'; } else { - row += ''; + row += ''; // row += 'bookmark' + } + + if ($.inArray(peer.ipaddr.toString()+" "+peer.cointype.toString(), connectedPeers) === -1) { + row += ''; + row +=''; + + }else{ + row += ''; + row +=''; } - row += ''; return row; }; -var addPeerToFav = function (id) { - if ($.inArray(id, favPeers) == -1) { - favPeers.push(parseInt(id)); - console.log('@ peer faved', favPeers); + +var addPeerToConn = function (ip,coin) { + if ($.inArray(ip+" "+coin, connectedPeers) === -1) { + connectedPeers.push(ip+" "+coin); + console.log('@ peer connected', connectedPeers); } - + + // refresh grid e.getAttribute('data-id'),e.getAttribute('data-coin') + renderPeersGrid(document.getElementById('cbShowFavoritePeers').checked); +}; + +var removePeerFromConn = function (ip,coin) { + for (var index = 0; index < connectedPeers.length; index++) { + if (ip+" "+coin === connectedPeers[index]) { + connectedPeers.splice(index, 1); + console.log('@ peer disconnected', connectedPeers); + break; + } + } + // refresh grid + renderPeersGrid(document.getElementById('cbShowFavoritePeers').checked); +}; + + + +var addPeerToFav = function (id,coin) { + if ($.inArray(id+coin, favPeers) === -1) { + favPeers.push(id+coin); + console.log('@ peer faved', favPeers); + } + + // refresh grid e.getAttribute('data-id'),e.getAttribute('data-coin') renderPeersGrid(false); }; -var removePeerFromFav = function (id) { +var removePeerFromFav = function (id,coin) { for (var index = 0; index < favPeers.length; index++) { - if (id == favPeers[index]) { + if (id+coin === favPeers[index]) { favPeers.splice(index, 1); console.log('@ peer unfaved', favPeers); break; } } - + // refresh grid renderPeersGrid(document.getElementById('cbShowFavoritePeers').checked); }; - +/* var renderPeersGrid = function (favoritesOnly = false) { - console.log('@ peer print grid') - + console.log('@ peer print grid'); + var peersTableAllHtml = ''; for (var i = 0; i < response.peers.length; i++) { @@ -359,15 +489,39 @@ var renderPeersGrid = function (favoritesOnly = false) { response.peers[i].cointype = response.coin peersTableAllHtml += getHtmlRow(i, response.peers[i]); } + document.getElementById('peersTableBody').innerHTML = peersTableAllHtml; +};*/ +var favoritesOnly=false; + +var renderPeersGrid = function () { + + console.log('@ peer print grid'); + + var peersTableAllHtml = ''; + for(var j=0; j