OctoPrint-Estop/octoprint_estop/static/js/estop.js

44 lines
1.1 KiB
JavaScript
Raw Normal View History

2017-03-22 22:17:16 +01:00
/*
* Author: ntoff
* License: AGPLv3
*/
$(function() {
function EstopViewModel(parameters) {
var self = this;
2017-03-22 22:17:16 +01:00
self.loginState = parameters[0];
self.printerState = parameters[1];
self.enableEstop = ko.pureComputed(function() {
return self.printerState.isOperational() && self.loginState.isUser();
});
self.estopState = ko.pureComputed(function() {
return self.loginState.isUser() > 0 ? "estop_sidebar" : "estop_sidebar_disabled";
});
self.buttonText = ko.pureComputed(function() {
if (self.enableEstop()) {
return gettext("EMERGENCY STOP");
} else {
return gettext("Offline");
}
});
2017-03-22 22:17:16 +01:00
self.sendEstopCommand = function () {
if (self.enableEstop()) {
OctoPrint.control.sendGcode("M112");
};
2017-03-22 22:17:16 +01:00
};
}
OCTOPRINT_VIEWMODELS.push({
construct: EstopViewModel,
dependencies: [
"loginStateViewModel",
"printerStateViewModel",
2017-03-22 22:17:16 +01:00
],
elements: ["#sidebar_plugin_estop_wrapper"]
2017-03-22 22:17:16 +01:00
});
});