diff --git a/octoprint_klipper/static/img/spinner.gif b/octoprint_klipper/static/img/spinner.gif new file mode 100644 index 0000000..0424aa4 Binary files /dev/null and b/octoprint_klipper/static/img/spinner.gif differ diff --git a/octoprint_klipper/static/js/klipper_graph.js b/octoprint_klipper/static/js/klipper_graph.js index a5d0aa0..d083791 100644 --- a/octoprint_klipper/static/js/klipper_graph.js +++ b/octoprint_klipper/static/js/klipper_graph.js @@ -14,14 +14,16 @@ function KlipperGraphViewModel(parameters) { self.logFile = ko.observable(); self.status = ko.observable(); self.datasets = ko.observableArray(); + self.datasetFill = ko.observable(false); self.canvas; self.canvasContext; self.chart; - self.datasetFill = ko.observable(false); + self.spinnerDialog; self.onStartup = function() { self.canvas = $("#klipper_graph_canvas")[0] self.canvasContext = self.canvas.getContext("2d"); + self.spinnerDialog = $("#klipper_graph_spinner"); Chart.defaults.global.elements.line.borderWidth=1; Chart.defaults.global.elements.line.fill= false; @@ -55,6 +57,18 @@ function KlipperGraphViewModel(parameters) { button.attr("href", dataURL); } + self.showSpinner = function(showDialog) { + if (showDialog) { + self.spinnerDialog.modal({ + show: true, + keyboard: false, + backdrop: "static" + }); + } else { + self.spinnerDialog.modal("hide"); + } + } + self.toggleDatasetFill = function() { if(self.datasets) { for (i=0; i < self.datasets().length; i++) { @@ -84,10 +98,15 @@ function KlipperGraphViewModel(parameters) { } ) } - + + self.showSpinner(true); + $.ajax(settings).done(function (response) { self.status("") self.datasetFill(false); + + self.showSpinner(false); + if("error" in response) { self.status(response.error); } else { diff --git a/octoprint_klipper/templates/klipper_graph_dialog.jinja2 b/octoprint_klipper/templates/klipper_graph_dialog.jinja2 index 5c16690..dacd983 100644 --- a/octoprint_klipper/templates/klipper_graph_dialog.jinja2 +++ b/octoprint_klipper/templates/klipper_graph_dialog.jinja2 @@ -24,4 +24,10 @@ - \ No newline at end of file + +