resolutions.add((1280, 720))
resolutions.add((1280, 800))
resolutions.add((1280, 960))
+ resolutions.add((1280, 1024))
resolutions.add((1366, 768))
resolutions.add((1440, 900))
resolutions.add((1680, 1050))
var pushConfigs = {};
-var refreshDisabled = 0;
+var refreshDisabled = {}; /* dictionary indexed by cameraId, tells if refresh is disabled for a given camera */
var fullScreenCameraId = null;
var thresholdSlider = null;
var inProgress = false;
});
beginProgress(affectedCameraIds);
+ affectedCameraIds.forEach(function (cameraId) {
+ refreshDisabled[cameraId] |= 0;
+ refreshDisabled[cameraId]++;
+ });
ajax('POST', '/config/0/set/', pushConfigs, function (data) {
+ affectedCameraIds.forEach(function (cameraId) {
+ refreshDisabled[cameraId]--;
+ });
+
if (data == null || data.error) {
endProgress();
showErrorMessage(data && data.error);
pushConfigs = {};
endProgress();
-
- //recreateCameraFrames();
});
}
data.hue = hue;
}
- refreshDisabled++;
+ refreshDisabled[cameraId] |= 0;
+ refreshDisabled[cameraId]++;
ajax('POST', '/config/' + cameraId + '/set_preview/', data, function (data) {
- refreshDisabled--;
+ refreshDisabled[cameraId]--;
if (data == null || data.error) {
showErrorMessage(data && data.error);
cameraProgress.removeClass('visible');
});
cameraImg.load(function () {
- if (refreshDisabled) {
+ if (refreshDisabled[cameraId]) {
return; /* refresh temporarily disabled for updating */
}
}
function doFullScreenCamera(cameraId) {
- if (inProgress) {
+ if (inProgress || refreshCameraFrames[cameraId]) {
return;
}
}
function refreshCameraFrames() {
- if (refreshDisabled) {
- /* camera refreshing disabled, retry later */
-
- setTimeout(refreshCameraFrames, 1000);
-
- return;
- }
-
function refreshCameraFrame(cameraId, img, fast) {
+ if (refreshDisabled[cameraId]) {
+ /* camera refreshing disabled, retry later */
+
+ return;
+ }
+
if (img.loading) {
img.loading++; /* increases each time the camera would refresh but is still loading */
/* software update button */
$('div#updateButton').click(doUpdate);
- /* prevent scroll events on settings div from propagating TODO this does not work */
+ /* prevent scroll events on settings div from propagating TODO this does not actually work */
$('div.settings').mousewheel(function (e, d) {
var t = $(this);
if (d > 0 && t.scrollTop() === 0) {