website with merged support
This commit is contained in:
@@ -6,12 +6,12 @@
|
||||
</div>
|
||||
|
||||
<script id="siblingTabTemplate" type="text/x-handlebars-template">
|
||||
<li id="coinTabs{{coin}}" role="presentation" class="{{active}}"><a href="#{{coin}}" data-coin="{{coin}}">{{coin}} {{symbol}}</a></li>
|
||||
<li id="coinTabs{{coin}}" role="presentation" class="{{active}}"><a href="#{{coin}}" data-coin="{{coin}}">{{coin}} {{symbol}}</a></li>
|
||||
</script>
|
||||
|
||||
<!-- Handlebars template -->
|
||||
<script id="monitoringInfo" type="text/x-handlebars-template">
|
||||
<div role="tabpanel" class="tab-pane {{active}}" id="{{coin}}">
|
||||
<div role="tabpanel" class="tab-pane {{active}}" id="{{coin}}">
|
||||
<div class="row">
|
||||
<div class="infos col-sm-6">
|
||||
<h3>Daemon</h3>
|
||||
@@ -83,118 +83,95 @@
|
||||
|
||||
<!-- Javascript -->
|
||||
<script>
|
||||
function getCheckTime (timestamp) {
|
||||
return timestamp ? $.timeago(new Date(timestamp * 1000)
|
||||
.toISOString()) : null;
|
||||
}
|
||||
function getCheckTime(timestamp) {
|
||||
return timestamp ? $.timeago(new Date(timestamp * 1000).toISOString()) : null;
|
||||
}
|
||||
|
||||
function monitoringInfoParse (endPoint, key, data) {
|
||||
let monitoringDaemon = {
|
||||
lastCheck: getCheckTime(data['monitoring'].daemon.lastCheck) || 'never',
|
||||
lastStatus: data['monitoring'].daemon.lastStatus || '',
|
||||
lastFail: getCheckTime(data['monitoring'].daemon.lastFail) || 'never',
|
||||
lastFailResponse: data['monitoring'].daemon.lastFailResponse || ' ',
|
||||
lastResponse: data['monitoring'].daemon.lastResponse || ' '
|
||||
};
|
||||
function monitoringInfoParse(endPoint, key, data) {
|
||||
let monitoringDaemon = {
|
||||
lastCheck: getCheckTime(data['monitoring'].daemon.lastCheck) || 'never',
|
||||
lastStatus: data['monitoring'].daemon.lastStatus || '',
|
||||
lastFail: getCheckTime(data['monitoring'].daemon.lastFail) || 'never',
|
||||
lastFailResponse: data['monitoring'].daemon.lastFailResponse || ' ',
|
||||
lastResponse: data['monitoring'].daemon.lastResponse || ' '
|
||||
};
|
||||
|
||||
let monitoringWallet = {
|
||||
lastCheck: getCheckTime(data['monitoring'].wallet.lastCheck) || 'never',
|
||||
lastStatus: data['monitoring'].wallet.lastStatus || '',
|
||||
lastFail: getCheckTime(data['monitoring'].wallet.lastFail) || 'never',
|
||||
lastFailResponse: data['monitoring'].wallet.lastFailResponse || ' ',
|
||||
lastResponse: data['monitoring'].wallet.lastResponse || ' '
|
||||
};
|
||||
let monitoringWallet = {
|
||||
lastCheck: getCheckTime(data['monitoring'].wallet.lastCheck) || 'never',
|
||||
lastStatus: data['monitoring'].wallet.lastStatus || '',
|
||||
lastFail: getCheckTime(data['monitoring'].wallet.lastFail) || 'never',
|
||||
lastFailResponse: data['monitoring'].wallet.lastFailResponse || ' ',
|
||||
lastResponse: data['monitoring'].wallet.lastResponse || ' '
|
||||
};
|
||||
|
||||
let properData = {};
|
||||
if(data.hasOwnProperty('logs')) {
|
||||
properData['logs'] = []
|
||||
for(let log in data['logs']) {
|
||||
properData['logs'].push({name: log,
|
||||
link: `${endPoint}/admin_log?file=${log}&password=${docCookies.getItem('password')}`,
|
||||
changed: formatDate(data['logs'][log].changed),
|
||||
size: data['logs'][log].size})
|
||||
}
|
||||
}
|
||||
properData['coin'] = key
|
||||
properData['active'] = data.active
|
||||
properData['monitoringDaemon'] = monitoringDaemon;
|
||||
properData['monitoringWallet'] = monitoringWallet;
|
||||
return properData;
|
||||
}
|
||||
|
||||
let properData = {};
|
||||
if (data.hasOwnProperty('logs')) {
|
||||
properData['logs'] = []
|
||||
for (let log in data['logs']) {
|
||||
properData['logs'].push({
|
||||
name: log,
|
||||
link: `${endPoint}/admin_log?file=${log}&password=${docCookies.getItem('password')}`,
|
||||
changed: formatDate(data['logs'][log].changed),
|
||||
size: data['logs'][log].size
|
||||
})
|
||||
}
|
||||
}
|
||||
properData['coin'] = key
|
||||
properData['active'] = data.active
|
||||
properData['monitoringDaemon'] = monitoringDaemon;
|
||||
properData['monitoringWallet'] = monitoringWallet;
|
||||
return properData;
|
||||
}
|
||||
|
||||
function renderLogInfo (endPoint, key, active, password) {
|
||||
function renderLogInfo(endPoint, key, active, password) {
|
||||
|
||||
|
||||
if (!password) {
|
||||
password = prompt('Enter admin password');
|
||||
}
|
||||
if(!password) {
|
||||
password = prompt('Enter admin password');
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: `${endPoint}/admin_monitoring`,
|
||||
data: {password: password},
|
||||
dataType: 'json',
|
||||
cache: false,
|
||||
success: function(data) {
|
||||
docCookies.setItem('password', password, Infinity);
|
||||
data['active'] = active
|
||||
renderTemplate(monitoringInfoParse(endPoint, key, data), `#monitoringInfo`, `#tab-content`);
|
||||
$(`#daemonStatus${key}`).addClass(data['monitoring'].daemon.lastStatus == 'ok' ? 'text-success' : 'text-danger');
|
||||
$(`#walletStatus${key}`).addClass(data['monitoring'].wallet.lastStatus == 'ok' ? 'text-success' : 'text-danger');
|
||||
|
||||
$.ajax({
|
||||
url: `${endPoint}/admin_monitoring`,
|
||||
data: {
|
||||
password: password
|
||||
},
|
||||
dataType: 'json',
|
||||
cache: false,
|
||||
success: function (data) {
|
||||
docCookies.setItem('password', password, Infinity);
|
||||
data['active'] = active
|
||||
renderTemplate(monitoringInfoParse(endPoint, key, data), `#monitoringInfo`, `#tab-content`);
|
||||
$(`#daemonStatus${key}`)
|
||||
.addClass(data['monitoring'].daemon.lastStatus == 'ok' ? 'text-success' : 'text-danger');
|
||||
$(`#walletStatus${key}`)
|
||||
.addClass(data['monitoring'].wallet.lastStatus == 'ok' ? 'text-success' : 'text-danger');
|
||||
$('.logList th.sort').on('click', sortTable)
|
||||
},
|
||||
error: function(e) {
|
||||
docCookies.removeItem('password');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('.logList th.sort')
|
||||
.on('click', sortTable)
|
||||
},
|
||||
error: function (e) {
|
||||
docCookies.removeItem('password');
|
||||
}
|
||||
});
|
||||
}
|
||||
$(function() {
|
||||
let password = docCookies.getItem('password');
|
||||
|
||||
$(function () {
|
||||
let password = docCookies.getItem('password');
|
||||
let template = $('#siblingTabTemplate').html();
|
||||
Mustache.parse(template)
|
||||
let rendered = Mustache.render(template, {coin:parentCoin, symbol:`(${lastStats.config.symbol})`, active:'active'});
|
||||
$('#coinTabs').append(rendered)
|
||||
|
||||
let template = $('#siblingTabTemplate')
|
||||
.html();
|
||||
Mustache.parse(template)
|
||||
let rendered = Mustache.render(template, {
|
||||
coin: parentCoin,
|
||||
symbol: `(${lastStats.config.symbol})`,
|
||||
active: 'active'
|
||||
});
|
||||
$('#coinTabs')
|
||||
.append(rendered)
|
||||
renderLogInfo(api, parentCoin, 'active', password);
|
||||
|
||||
renderLogInfo(api, parentCoin, 'active', password);
|
||||
Object.keys(mergedApis).forEach(key => {
|
||||
|
||||
Object.keys(mergedApis)
|
||||
.forEach(key => {
|
||||
template = $('#siblingTabTemplate').html();
|
||||
Mustache.parse(template)
|
||||
rendered = Mustache.render(template, {coin:`${mergedStats[key].config.coin}`, symbol:`(${mergedStats[key].config.symbol})`});
|
||||
$('#coinTabs').append(rendered)
|
||||
|
||||
template = $('#siblingTabTemplate')
|
||||
.html();
|
||||
Mustache.parse(template)
|
||||
rendered = Mustache.render(template, {
|
||||
coin: `${mergedStats[key].config.coin}`,
|
||||
symbol: `(${mergedStats[key].config.symbol})`
|
||||
});
|
||||
$('#coinTabs')
|
||||
.append(rendered)
|
||||
renderLogInfo(mergedApis[key].api, key, '', password)
|
||||
})
|
||||
sortElementList($(`#coinTabs`), $(`#coinTabs>li`), mergedStats)
|
||||
$('#coinTabs a').click(function (e) {
|
||||
e.preventDefault()
|
||||
$(this).tab('show')
|
||||
})
|
||||
|
||||
renderLogInfo(mergedApis[key].api, key, '', password)
|
||||
})
|
||||
sortElementList($(`#coinTabs`), $(`#coinTabs>li`), mergedStats)
|
||||
$('#coinTabs a')
|
||||
.click(function (e) {
|
||||
e.preventDefault()
|
||||
$(this)
|
||||
.tab('show')
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user