Fix master web interface

Fix the breaking changes to the plugin struture and remove slave
information that is no longer present.
This commit is contained in:
Hornwitser committed 2020-03-13 22:46:17 +01:00
1 parent 090fbd6dff
commit d9fe408c42
3 files changed
+17 -24

No files matched your search

+2 -1
View File
@@ -67,12 +67,13 @@ app.use(compression());
// dynamic HTML generations with EJS
app.set('view engine', 'ejs');
app.set('views', ['views', 'sharedPlugins']);
app.set('views', ['views', 'plugins']);
// give ejs access to some interesting information
app.use(function(req, res, next){
res.locals.res = res;
res.locals.req = req;
res.locals.masterPlugins = masterPlugins;
res.locals.slaves = db.slaves;
res.locals.moment = moment;
next();
+7 -9
View File
@@ -8,17 +8,15 @@
<div class="nav-item mr-1">
<a class="nav-link align-middle" href="/nodes">Slaves</a>
</div><%
for(let o in locals.masterPlugins) {
let plug = locals.masterPlugins[o];
for (let plug of locals.masterPlugins.values()) {
if (
plug.main
&& plug.main.ui
&& typeof plug.main.ui.sidebar == "object"
&& Array.isArray(plug.main.ui.sidebar)
plug
&& plug.ui
&& typeof plug.ui.sidebar == "object"
&& Array.isArray(plug.ui.sidebar)
) {
let sidebarEntries = plug.main.ui.sidebar;
for (let i in sidebarEntries) {
let button = sidebarEntries[i];
let sidebarEntries = plug.ui.sidebar;
for (let button of sidebarEntries) {
if (button.getHtml && typeof button.getHtml == "function") { %>
<%- button.getHtml() %><%
}
+8 -14
View File
@@ -17,27 +17,21 @@ for (let [id, slave] of locals.slaves) { %>
<div id="<%= id %>" class="slaveBox card mb-3">
<div class="card-body">
<h5 class="card-title"><a href='nodeDetails?instanceID=<%=id%>'>
<%= slave.instanceName %>
<%= slave.name %>
</a></h5>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">ID: <%= id %></li>
<li class="list-group-item">Last seen: <%= moment(Number(slave.time)).format("DD.MM.YY, hh:mm") %></li>
<li class="list-group-item">Online players: <%= slave.playerCount %></li>
<li class="list-group-item">IP: <%= slave.publicIP %>:<%= slave.serverPort %></li>
<li class="list-group-item">Host: <%= slave.mac %></li>
</ul><%
for (let o in locals.masterPlugins) {
let plug = locals.masterPlugins[o];
for (let plug of locals.masterPlugins.values()) {
if (
plug.main
&& plug.main.ui
&& typeof plug.main.ui.slaveListing == "object"
&& Array.isArray(plug.main.ui.slaveListing)
plug
&& plug.ui
&& typeof plug.ui.slaveListing == "object"
&& Array.isArray(plug.ui.slaveListing)
) {
let slaveListingEntries = plug.main.ui.slaveListing;
for (let i in slaveListingEntries) {
let button = slaveListingEntries[i];
let slaveListingEntries = plug.ui.slaveListing;
for (let button of slaveListingEntries) {
if (button.getHtml && typeof button.getHtml == "function") { %>
<div class="plugin-link"><%- button.getHtml({slave}) %></div><%
}