Merge pull request #7342 from imgntn/consoleversion2

Add version number and make adding new menu items to Server Console easier
This commit is contained in:
Brad Hefta-Gaub 2016-03-13 12:25:04 -07:00
commit 27fec45e95

View file

@ -477,118 +477,130 @@ function performContentMigration() {
var logWindow = null; var logWindow = null;
var labels = {
serverState: {
label: 'Server - Stopped',
enabled: false
},
version: {
label: 'Version - ' + buildInfo.buildIdentifier,
enabled: false
},
restart: {
label: 'Start Server',
click: function() {
homeServer.restart();
}
},
stopServer: {
label: 'Stop Server',
visible: false,
click: function() {
homeServer.stop();
}
},
goHome: {
label: 'Go Home',
click: goHomeClicked,
enabled: false
},
quit: {
label: 'Quit',
accelerator: 'Command+Q',
click: function() {
shutdown();
}
},
settings: {
label: 'Settings',
click: function() {
shell.openExternal('http://localhost:40100/settings');
},
enabled: false
},
viewLogs: {
label: 'View Logs',
click: function() {
logWindow.open();
}
},
share: {
label: 'Share',
click: function() {
shell.openExternal('http://localhost:40100/settings/?action=share')
}
},
migrateContent: {
label: 'Migrate Stack Manager Content',
click: function() {
promptToMigrateContent();
}
},
shuttingDown: {
label: "Shutting down...",
enabled: false
},
}
var separator = {
type: 'separator'
};
function buildMenuArray(serverState) { function buildMenuArray(serverState) {
var menuArray = null;
updateLabels(serverState);
var menuArray = [];
if (isShuttingDown) { if (isShuttingDown) {
menuArray = [ menuArray.push(labels.shuttingDown);
{
label: "Shutting down...",
enabled: false
}
];
} else { } else {
menuArray = [ menuArray.push(labels.serverState);
{ menuArray.push(labels.version);
label: 'Server - Stopped', menuArray.push(separator);
enabled: false menuArray.push(labels.goHome);
}, menuArray.push(separator);
{ menuArray.push(labels.restart);
type: 'separator' menuArray.push(labels.stopServer);
}, menuArray.push(labels.settings);
{ menuArray.push(labels.viewLogs);
label: 'Go Home', menuArray.push(separator);
click: goHomeClicked, menuArray.push(labels.share);
enabled: false menuArray.push(separator);
}, menuArray.push(labels.quit);
{
type: 'separator'
},
{
label: 'Start Server',
click: function() { homeServer.restart(); }
},
{
label: 'Stop Server',
visible: false,
click: function() { homeServer.stop(); }
},
{
label: 'Settings',
click: function() { shell.openExternal('http://localhost:40100/settings'); },
enabled: false
},
{
label: 'View Logs',
click: function() { logWindow.open(); }
},
{
type: 'separator'
},
{
label: 'Share',
click: function() { shell.openExternal('http://localhost:40100/settings/?action=share') }
},
{
type: 'separator'
},
{
label: 'Quit',
accelerator: 'Command+Q',
click: function() { shutdown(); }
}
];
var foundStackManagerContent = isStackManagerContentPresent(); var foundStackManagerContent = isStackManagerContentPresent();
if (foundStackManagerContent) { if (foundStackManagerContent) {
// add a separator and the stack manager content migration option // add a separator and the stack manager content migration option
menuArray.splice(menuArray.length - 1, 0, { menuArray.splice(menuArray.length - 1, 0, labels.migrateContent, separator);
label: 'Migrate Stack Manager Content',
click: function() { promptToMigrateContent(); }
}, {
type: 'separator'
});
} }
updateMenuArray(menuArray, serverState);
} }
return menuArray; return menuArray;
} }
const GO_HOME_INDEX = 2; function updateLabels(serverState) {
const SERVER_LABEL_INDEX = 0;
const RESTART_INDEX = 4;
const STOP_INDEX = 5;
const SETTINGS_INDEX = 6;
function updateMenuArray(menuArray, serverState) {
// update the tray menu state // update the tray menu state
var running = serverState == ProcessGroupStates.STARTED; var running = serverState == ProcessGroupStates.STARTED;
labels.goHome.enabled = running;
var serverLabelItem = menuArray[SERVER_LABEL_INDEX]; labels.stopServer.visible = running;
var restartItem = menuArray[RESTART_INDEX]; labels.settings.enabled = running;
// Go Home is only enabled if running
menuArray[GO_HOME_INDEX].enabled = running;
// Stop is only visible if running
menuArray[STOP_INDEX].visible = running;
// Settings is only visible if running
menuArray[SETTINGS_INDEX].enabled = running;
if (serverState == ProcessGroupStates.STARTED) { if (serverState == ProcessGroupStates.STARTED) {
serverLabelItem.label = "Server - Started"; labels.serverState.label = "Server - Started";
restartItem.label = "Restart Server"; labels.restart.label = "Restart Server";
} else if (serverState == ProcessGroupStates.STOPPED) { } else if (serverState == ProcessGroupStates.STOPPED) {
serverLabelItem.label = "Server - Stopped"; labels.serverState.label = "Server - Stopped";
restartItem.label = "Start Server"; labels.restart.label = "Start Server";
labels.restart.enabled = true;
} else if (serverState == ProcessGroupStates.STOPPING) { } else if (serverState == ProcessGroupStates.STOPPING) {
serverLabelItem.label = "Server - Stopping"; labels.serverState.label = "Server - Stopping";
labels.restart.label = "Restart Server";
restartItem.label = "Restart Server"; labels.restart.enabled = false;
restartItem.enabled = false;
} }
} }