init
This commit is contained in:
93
bal.js
Normal file
93
bal.js
Normal file
@@ -0,0 +1,93 @@
|
||||
var chain = 'bitcoin';
|
||||
var page = 0;
|
||||
var limit = 100;
|
||||
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
if (urlParams.has('page')) {
|
||||
page =urlParams.get('page',0);
|
||||
}
|
||||
if (urlParams.has('limit')){
|
||||
limit = urlParams.get('limit',100);
|
||||
}
|
||||
if (urlParams.has('chain')){
|
||||
chain = urlParams.get('chain','bitcoin');
|
||||
}
|
||||
|
||||
|
||||
function get_chain(){
|
||||
var e = document.getElementById('chain')
|
||||
const idx = e.selectedIndex;
|
||||
if (idx == 0){
|
||||
return 'bitcoin';
|
||||
}
|
||||
else if (idx == 1) {
|
||||
return 'testnet';
|
||||
}
|
||||
else if (idx == 2) {
|
||||
return 'regtest';
|
||||
}
|
||||
}
|
||||
function downloadLink(data,options) {
|
||||
const jsonString = JSON.stringify(data);
|
||||
const blob = new Blob([jsonString], { type: 'application/json;charset=utf-8' });
|
||||
|
||||
const urlCreator = URL.createObjectURL(blob);
|
||||
const a = document.getElementById(options.elementName);
|
||||
a.href = urlCreator;
|
||||
a.setAttribute(options.linkText, options.fileName);
|
||||
}
|
||||
|
||||
async function fetchDataAndPopulateTable(url,params,fnPopulateTable,downloadOpt,onError){
|
||||
try {
|
||||
//params.append("page",page);
|
||||
//params.append("limit",limit);
|
||||
//const response = await fetch('/wetime/'+get_chain()+"?"+params.toString());
|
||||
var realurl = url
|
||||
if (params){
|
||||
params.append("page",page);
|
||||
params.append("limit",limit);
|
||||
realurl+="?"+params.toString();
|
||||
}
|
||||
|
||||
const response = await fetch(realurl);
|
||||
if (!response.ok) {
|
||||
console.log("error",response);
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
|
||||
const data = await response.json();
|
||||
if (downloadOpt){
|
||||
downloadLink(data,downloadOpt);
|
||||
}
|
||||
var paginator=fnPopulateTable(data);
|
||||
make_paginator(paginator);
|
||||
} catch (error) {
|
||||
console.error('Error fetching data:', error);
|
||||
if (onError){
|
||||
onError(error);
|
||||
}
|
||||
}
|
||||
function createlink(html,dest){
|
||||
const link = document.createElement("a");
|
||||
link.href=dest;
|
||||
link.innerHTML=html
|
||||
return link;
|
||||
}
|
||||
function make_paginator(){
|
||||
document.getElementById("chainth").innerHTML = chain;
|
||||
const pag = document.getElementById("paginator");
|
||||
|
||||
pag.appendChild(document.createTextNode("_"));
|
||||
if (page > 0) {
|
||||
pag.appendChild(createlink("<","?page="+paginator.prev));
|
||||
}
|
||||
else{
|
||||
pag.appendChild(document.createTextNode("<"));
|
||||
}
|
||||
pag.appendChild(document.createTextNode("_"));
|
||||
pag.appendChild(document.createTextNode(page));
|
||||
pag.appendChild(document.createTextNode("_"));
|
||||
pag.appendChild(createlink(">","?page="+paginator.next));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user