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;
function buildMenuArray(serverState) { var labels = {
var menuArray = null; serverState: {
if (isShuttingDown) {
menuArray = [
{
label: "Shutting down...",
enabled: false
}
];
} else {
menuArray = [
{
label: 'Server - Stopped', label: 'Server - Stopped',
enabled: false enabled: false
}, },
{ version: {
type: 'separator' 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', label: 'Go Home',
click: goHomeClicked, click: goHomeClicked,
enabled: false enabled: false
}, },
{ 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', label: 'Quit',
accelerator: 'Command+Q', accelerator: 'Command+Q',
click: function() { shutdown(); } 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) {
updateLabels(serverState);
var menuArray = [];
if (isShuttingDown) {
menuArray.push(labels.shuttingDown);
} else {
menuArray.push(labels.serverState);
menuArray.push(labels.version);
menuArray.push(separator);
menuArray.push(labels.goHome);
menuArray.push(separator);
menuArray.push(labels.restart);
menuArray.push(labels.stopServer);
menuArray.push(labels.settings);
menuArray.push(labels.viewLogs);
menuArray.push(separator);
menuArray.push(labels.share);
menuArray.push(separator);
menuArray.push(labels.quit);
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;
} }
} }