Fixed temperature graph again after changes from last night

This commit is contained in:
Gina Häußge 2014-03-03 09:53:34 +01:00
parent 850aa5b797
commit de59e8aa56
2 changed files with 18 additions and 16 deletions

View file

@ -10,7 +10,6 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
self.appearance_name = ko.observable(undefined);
self.appearance_color = ko.observable(undefined);
/* I did attempt to allow arbitrary gradients but cross browser support via knockout or jquery was going to be horrible */
self.appearance_available_colors = ko.observable(["default", "red", "orange", "yellow", "green", "blue", "violet", "black"]);
self.printer_movementSpeedX = ko.observable(undefined);
@ -18,7 +17,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
self.printer_movementSpeedZ = ko.observable(undefined);
self.printer_movementSpeedE = ko.observable(undefined);
self.printer_invertAxes = ko.observable(undefined);
self.printer_numExtruders = ko.observable(1);
self.printer_numExtruders = ko.observable(undefined);
self._printer_extruderOffsets = ko.observableArray([]);
self.printer_extruderOffsets = ko.computed({
@ -45,12 +44,14 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
}
self._printer_extruderOffsets(result);
},
owner: self,
deferEvaluation: true
owner: self
});
self.ko_printer_extruderOffsets = ko.computed(function() {
var extruderOffsets = self._printer_extruderOffsets();
var numExtruders = self.printer_numExtruders();
if (!numExtruders) {
numExtruders = 1;
}
if (numExtruders > extruderOffsets.length) {
for (var i = extruderOffsets.length; i < numExtruders; i++) {

View file

@ -33,14 +33,14 @@ function TemperatureViewModel(loginStateViewModel, settingsViewModel) {
self.heaterOptions = ko.observable({});
self.settingsViewModel.printer_numExtruders.subscribe(function(oldVal, newVal) {
self._numExtrudersUpdated = function() {
var graphColors = ["red", "orange", "green", "brown", "purple"];
var heaterOptions = {};
var tools = self.tools();
// tools
var numExtruders = self.settingsViewModel.printer_numExtruders();
if (numExtruders > 1) {
if (numExtruders && numExtruders > 1) {
// multiple extruders
for (var extruder = 0; extruder < numExtruders; extruder++) {
var color = graphColors.shift();
@ -71,7 +71,8 @@ function TemperatureViewModel(loginStateViewModel, settingsViewModel) {
// write back
self.heaterOptions(heaterOptions);
self.tools(tools);
});
};
self.settingsViewModel.printer_numExtruders.subscribe(self._numExtrudersUpdated);
self.temperatures = [];
self.plotOptions = {
@ -106,19 +107,19 @@ function TemperatureViewModel(loginStateViewModel, settingsViewModel) {
noColumns: 2,
backgroundOpacity: 0
}
}
};
self.fromCurrentData = function(data) {
self._processStateData(data.state);
self._processTemperatureUpdateData(data.temps);
self._processOffsetData(data.offsets);
}
};
self.fromHistoryData = function(data) {
self._processStateData(data.state);
self._processTemperatureHistoryData(data.tempHistory);
self._processOffsetData(data.offsets);
}
};
self._processStateData = function(data) {
self.isErrorOrClosed(data.flags.closedOrError);
@ -128,7 +129,7 @@ function TemperatureViewModel(loginStateViewModel, settingsViewModel) {
self.isError(data.flags.error);
self.isReady(data.flags.ready);
self.isLoading(data.flags.loading);
}
};
self._processTemperatureUpdateData = function(data) {
if (data.length == 0)
@ -156,12 +157,12 @@ function TemperatureViewModel(loginStateViewModel, settingsViewModel) {
});
self.updatePlot();
}
};
self._processTemperatureHistoryData = function(data) {
self.temperatures = self._processTemperatureData(data);
self.updatePlot();
}
};
self._processOffsetData = function(data) {
var tools = self.tools();
@ -174,7 +175,7 @@ function TemperatureViewModel(loginStateViewModel, settingsViewModel) {
if (data.hasOwnProperty("bed")) {
self.bedTemp["offset"](data["bed"]);
}
}
};
self._processTemperatureData = function(data, result) {
var types = _.keys(self.heaterOptions());
@ -202,7 +203,7 @@ function TemperatureViewModel(loginStateViewModel, settingsViewModel) {
});
return result;
}
};
self.updatePlot = function() {
var graph = $("#temperature-graph");
@ -237,7 +238,7 @@ function TemperatureViewModel(loginStateViewModel, settingsViewModel) {
$.plot(graph, data, self.plotOptions);
}
}
};
self.setTarget = function(item) {
var value = item.newTarget();