azurite
Version:
An open source Azure Storage API compatible server
109 lines • 4.39 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const ServerBase_1 = require("./ServerBase");
class VSCStatusBarItem {
constructor(serverManager, statusBarItem) {
this.serverManager = serverManager;
this.statusBarItem = statusBarItem;
this.statusBarItem.text = `[${serverManager.name}]`;
this.statusBarItem.command = serverManager.getStartCommand();
this.statusBarItem.tooltip = `Start ${serverManager.name}`;
this.statusBarItem.show();
}
onStart(serverManager) {
this.statusBarItem.text = `[${serverManager.name}] Starting...`;
this.statusBarItem.command = undefined;
this.statusBarItem.tooltip = ``;
this.statusBarItem.show();
}
onStartFail(serverManager, session, error) {
const server = serverManager.getServer();
if (server === undefined) {
this.onCloseSuccess(serverManager);
return;
}
if (server.getStatus() === ServerBase_1.ServerStatus.Closed) {
this.onCloseSuccess(serverManager);
}
if (server.getStatus() === ServerBase_1.ServerStatus.Running) {
this.onStartSuccess(serverManager);
}
if (server.getStatus() === ServerBase_1.ServerStatus.Closing) {
this.onClose(serverManager);
}
if (server.getStatus() === ServerBase_1.ServerStatus.Starting) {
this.onStart(serverManager);
}
}
onStartSuccess(serverManager) {
const server = serverManager.getServer();
this.statusBarItem.text = `[${serverManager.name}] Running on ${server.getHttpServerAddress()}`;
this.statusBarItem.command = serverManager.getCloseCommand();
this.statusBarItem.tooltip = `Close ${serverManager.name}`;
this.statusBarItem.show();
}
onClean(serverManager) {
this.statusBarItem.text = `[${serverManager.name}] Cleaning`;
this.statusBarItem.command = undefined;
this.statusBarItem.tooltip = ``;
this.statusBarItem.show();
}
onCleanFail(serverManager, session, error) {
const server = serverManager.getServer();
if (server === undefined) {
this.onCloseSuccess(serverManager);
return;
}
if (server.getStatus() === ServerBase_1.ServerStatus.Closed) {
this.onCloseSuccess(serverManager);
}
if (server.getStatus() === ServerBase_1.ServerStatus.Running) {
this.onStartSuccess(serverManager);
}
if (server.getStatus() === ServerBase_1.ServerStatus.Closing) {
this.onClose(serverManager);
}
if (server.getStatus() === ServerBase_1.ServerStatus.Starting) {
this.onStart(serverManager);
}
}
onCleanSuccess(serverManager) {
this.statusBarItem.text = `[${serverManager.name}]`;
this.statusBarItem.command = serverManager.getStartCommand();
this.statusBarItem.tooltip = `Start ${serverManager.name}`;
this.statusBarItem.show();
}
onClose(serverManager) {
this.statusBarItem.text = `[${serverManager.name}] Closing...`;
this.statusBarItem.command = undefined;
this.statusBarItem.tooltip = ``;
this.statusBarItem.show();
}
onCloseFail(serverManager, session, error) {
const server = serverManager.getServer();
if (server === undefined) {
this.onCloseSuccess(serverManager);
return;
}
if (server.getStatus() === ServerBase_1.ServerStatus.Closed) {
this.onCloseSuccess(serverManager);
}
if (server.getStatus() === ServerBase_1.ServerStatus.Running) {
this.onStartSuccess(serverManager);
}
if (server.getStatus() === ServerBase_1.ServerStatus.Closing) {
this.onClose(serverManager);
}
if (server.getStatus() === ServerBase_1.ServerStatus.Starting) {
this.onStart(serverManager);
}
}
onCloseSuccess(serverManager) {
this.statusBarItem.text = `[${serverManager.name}]`;
this.statusBarItem.command = serverManager.getStartCommand();
this.statusBarItem.tooltip = `Start ${serverManager.name}`;
this.statusBarItem.show();
}
}
exports.default = VSCStatusBarItem;
//# sourceMappingURL=VSCStatusBarItem.js.map