files search works again. wip
This commit is contained in:
parent
867895ab81
commit
31f2cbb64b
2 changed files with 86 additions and 454 deletions
|
|
@ -65,176 +65,16 @@ $(function() {
|
|||
return this.toString().match(/^\s*function\s*(\S*)\s*\(/)[1];
|
||||
}
|
||||
});
|
||||
//<<<<<<< HEAD
|
||||
// });
|
||||
//
|
||||
// //~~ Initialize view models
|
||||
// var loginStateViewModel = new LoginStateViewModel();
|
||||
// var printerProfilesViewModel = new PrinterProfilesViewModel();
|
||||
// var usersViewModel = new UsersViewModel(loginStateViewModel);
|
||||
// var timelapseViewModel = new TimelapseViewModel(loginStateViewModel);
|
||||
//
|
||||
// var printerStateViewModel = new PrinterStateViewModel(loginStateViewModel, timelapseViewModel);
|
||||
// var settingsViewModel = new SettingsViewModel(loginStateViewModel, usersViewModel, printerProfilesViewModel);
|
||||
// var gcodeViewModel = new GcodeViewModel(loginStateViewModel, settingsViewModel);
|
||||
// var connectionViewModel = new ConnectionViewModel(loginStateViewModel, settingsViewModel, printerProfilesViewModel);
|
||||
// var appearanceViewModel = new AppearanceViewModel(settingsViewModel, printerStateViewModel);
|
||||
// var temperatureViewModel = new TemperatureViewModel(loginStateViewModel, settingsViewModel);
|
||||
// var terminalViewModel = new TerminalViewModel(loginStateViewModel, settingsViewModel);
|
||||
//
|
||||
// var slicingViewModel = new SlicingViewModel(loginStateViewModel, printerProfilesViewModel);
|
||||
// var gcodeFilesViewModel = new GcodeFilesViewModel(printerStateViewModel, loginStateViewModel, slicingViewModel);
|
||||
// var controlViewModel = new ControlViewModel(loginStateViewModel, settingsViewModel, printerStateViewModel);
|
||||
// var navigationViewModel = new NavigationViewModel(loginStateViewModel, appearanceViewModel, settingsViewModel, usersViewModel);
|
||||
// var logViewModel = new LogViewModel(loginStateViewModel);
|
||||
//
|
||||
//
|
||||
// // the view model map is our basic look up table for dependencies that may be injected into other view models
|
||||
// var viewModelMap = {
|
||||
// loginStateViewModel: loginStateViewModel,
|
||||
// printerProfilesViewModel: printerProfilesViewModel,
|
||||
// usersViewModel: usersViewModel,
|
||||
// settingsViewModel: settingsViewModel,
|
||||
// connectionViewModel: connectionViewModel,
|
||||
// timelapseViewModel: timelapseViewModel,
|
||||
// printerStateViewModel: printerStateViewModel,
|
||||
// appearanceViewModel: appearanceViewModel,
|
||||
// temperatureViewModel: temperatureViewModel,
|
||||
// controlViewModel: controlViewModel,
|
||||
// terminalViewModel: terminalViewModel,
|
||||
// gcodeFilesViewModel: gcodeFilesViewModel,
|
||||
// gcodeViewModel: gcodeViewModel,
|
||||
// navigationViewModel: navigationViewModel,
|
||||
// logViewModel: logViewModel,
|
||||
// slicingViewModel: slicingViewModel,
|
||||
// };
|
||||
//=======
|
||||
}
|
||||
//>>>>>>> upstream/maintenance
|
||||
}
|
||||
|
||||
// helper to create a view model instance with injected constructor parameters from the view model map
|
||||
var _createViewModelInstance = function(viewModel, viewModelMap){
|
||||
var viewModelClass = viewModel[0];
|
||||
var viewModelParameters = viewModel[1];
|
||||
//<<<<<<< HEAD
|
||||
//
|
||||
// // now we'll try to resolve all of the view model's constructor parameters via our view model map
|
||||
// var constructorParameters = _.map(viewModelParameters, function(parameter){
|
||||
// return viewModelMap[parameter]
|
||||
// });
|
||||
//
|
||||
// if (_.some(constructorParameters, function(parameter) { return parameter === undefined; })) {
|
||||
// var _extractName = function(entry) { return entry[0]; };
|
||||
// var _onlyUnresolved = function(entry) { return entry[1] === undefined; };
|
||||
// var missingParameters = _.map(_.filter(_.zip(viewModelParameters, constructorParameters), _onlyUnresolved), _extractName);
|
||||
// console.log("postponing", viewModel[0].name, "due to missing parameters:", missingParameters.join(", "));
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// // if we came this far then we could resolve all constructor parameters, so let's construct that view model
|
||||
// return new viewModelClass(constructorParameters);
|
||||
// };
|
||||
//
|
||||
// // helper for translating the name of a view model class into an identifier for the view model map
|
||||
// var _getViewModelId = function(viewModel){
|
||||
// var name = viewModel[0].name;
|
||||
// return name.substr(0, 1).toLowerCase() + name.substr(1); // FooBarViewModel => fooBarViewModel
|
||||
// };
|
||||
//
|
||||
// // instantiation loop, will make multiple passes over the list of unprocessed view models until all
|
||||
// // view models have been successfully instantiated with all of their dependencies or no changes can be made
|
||||
// // any more which means not all view models can be instantiated due to missing dependencies
|
||||
// var unprocessedViewModels = ADDITIONAL_VIEWMODELS.slice();
|
||||
// var additionalViewModels = [];
|
||||
// var pass = 1;
|
||||
// while (unprocessedViewModels.length > 0) {
|
||||
// console.log("View model dependency resolution, pass #" + pass++);
|
||||
// var startLength = unprocessedViewModels.length;
|
||||
// var postponed = [];
|
||||
//
|
||||
// // now try to instantiate every one of our as of yet unprocessed view model descriptors
|
||||
// while (unprocessedViewModels.length > 0){
|
||||
// var viewModel = unprocessedViewModels.shift();
|
||||
// var viewModelId = _getViewModelId(viewModel);
|
||||
//
|
||||
// // make sure that we don't have to view models going by the same name
|
||||
// if (_.has(viewModelMap, viewModelId)) {
|
||||
// console.error("Duplicate class name while instantiating viewModel ", viewModelId);
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// var viewModelInstance = _createViewModelInstance(viewModel, viewModelMap);
|
||||
//
|
||||
// // our view model couldn't yet be instantiated, so postpone it for a bit
|
||||
// if (viewModelInstance === undefined) {
|
||||
// postponed.push(viewModel);
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// // we could resolve the depdendencies and the view model is not defined yet => add it, it's now fully processed
|
||||
// var viewModelBindTarget = viewModel[2];
|
||||
// additionalViewModels.push([viewModelInstance, viewModelBindTarget]);
|
||||
// viewModelMap[viewModelId] = viewModelInstance;
|
||||
// }
|
||||
//
|
||||
// // anything that's now in the postponed list has to be readded to the unprocessedViewModels
|
||||
// unprocessedViewModels = unprocessedViewModels.concat(postponed);
|
||||
//
|
||||
// // if we still have the same amount of items in our list of unprocessed view models it means that we
|
||||
// // couldn't instantiate any more view models over a whole iteration, which in turn mean we can't resolve the
|
||||
// // dependencies of remaining ones, so log that as an error and then quit the loop
|
||||
// if (unprocessedViewModels.length == startLength) {
|
||||
// console.error("Could not instantiate the following view models due to unresolvable dependencies:");
|
||||
// _.each(unprocessedViewModels, function(entry) {
|
||||
// console.error(entry[0].name, "(missing:", _.filter(entry[1], function(id) { return !_.has(viewModelMap, id); }).join(", "), ")");
|
||||
// });
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// console.log("View model dependency resolution done");
|
||||
//
|
||||
// var allViewModels = _.values(viewModelMap);
|
||||
// var dataUpdater = new DataUpdater(allViewModels);
|
||||
//
|
||||
//
|
||||
// //~~ Temperature
|
||||
//
|
||||
// $('#tabs a[data-toggle="tab"]').on('shown', function (e) {
|
||||
// temperatureViewModel.updatePlot();
|
||||
// terminalViewModel.updateOutput();
|
||||
// });
|
||||
//
|
||||
// //~~ File list
|
||||
//
|
||||
// $(".gcode_files").slimScroll({
|
||||
// height: "80vh",
|
||||
// size: "5px",
|
||||
// distance: "0",
|
||||
// railVisible: true,
|
||||
// alwaysVisible: true,
|
||||
// scrollBy: "102px"
|
||||
// });
|
||||
//
|
||||
// //~~ Gcode upload
|
||||
//
|
||||
// function gcode_upload_done(e, data) {
|
||||
// var filename = undefined;
|
||||
// var location = undefined;
|
||||
// if (data.result.files.hasOwnProperty("sdcard")) {
|
||||
// filename = data.result.files.sdcard.name;
|
||||
// location = "sdcard";
|
||||
// } else if (data.result.files.hasOwnProperty("local")) {
|
||||
// filename = data.result.files.local.name;
|
||||
// location = "local";
|
||||
// }
|
||||
// gcodeFilesViewModel.requestData(filename, location);
|
||||
//=======
|
||||
|
||||
if (viewModelParameters != undefined) {
|
||||
if (viewModelParameters != undefined) {
|
||||
if (!_.isArray(viewModelParameters)) {
|
||||
viewModelParameters = [viewModelParameters];
|
||||
}
|
||||
//>>>>>>> upstream/maintenance
|
||||
|
||||
// now we'll try to resolve all of the view model's constructor parameters via our view model map
|
||||
var constructorParameters = _.map(viewModelParameters, function(parameter){
|
||||
|
|
@ -251,6 +91,40 @@ $(function() {
|
|||
log.debug("Postponing", viewModel[0].name, "due to missing parameters:", missingParameters);
|
||||
return;
|
||||
}
|
||||
|
||||
// if we came this far then we could resolve all constructor parameters, so let's construct that view model
|
||||
log.debug("Constructing", viewModel[0].name, "with parameters:", viewModelParameters);
|
||||
return new viewModelClass(constructorParameters);
|
||||
};
|
||||
|
||||
|
||||
|
||||
//~~ File list
|
||||
$(".gcode_files").slimScroll({
|
||||
height: "80vh",
|
||||
size: "5px",
|
||||
distance: "0",
|
||||
railVisible: true,
|
||||
alwaysVisible: true,
|
||||
scrollBy: "102px"
|
||||
});
|
||||
//
|
||||
// //~~ Gcode upload
|
||||
//
|
||||
// function gcode_upload_done(e, data) {
|
||||
// var filename = undefined;
|
||||
// var location = undefined;
|
||||
// if (data.result.files.hasOwnProperty("sdcard")) {
|
||||
// filename = data.result.files.sdcard.name;
|
||||
// location = "sdcard";
|
||||
// } else if (data.result.files.hasOwnProperty("local")) {
|
||||
// filename = data.result.files.local.name;
|
||||
// location = "local";
|
||||
// }
|
||||
// gcodeFilesViewModel.requestData(filename, location);
|
||||
//=======
|
||||
|
||||
|
||||
//<<<<<<< HEAD
|
||||
//
|
||||
// if(data.result.files.hasOwnProperty("local")){
|
||||
|
|
@ -281,12 +155,6 @@ $(function() {
|
|||
// }
|
||||
//=======
|
||||
|
||||
// if we came this far then we could resolve all constructor parameters, so let's construct that view model
|
||||
log.debug("Constructing", viewModel[0].name, "with parameters:", viewModelParameters);
|
||||
return new viewModelClass(constructorParameters);
|
||||
};
|
||||
//>>>>>>> upstream/maintenance
|
||||
|
||||
// map any additional view model bindings we might need to make
|
||||
var additionalBindings = {};
|
||||
_.each(OCTOPRINT_ADDITIONAL_BINDINGS, function(bindings) {
|
||||
|
|
@ -337,21 +205,12 @@ $(function() {
|
|||
|
||||
var viewModelInstance = _createViewModelInstance(viewModel, viewModelMap);
|
||||
|
||||
//<<<<<<< HEAD
|
||||
// if (printerStateViewModel.isSdReady() && loginStateViewModel.isUser()) {
|
||||
// enable_sd_dropzone();
|
||||
// } else {
|
||||
// disable_sd_dropzone();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//=======
|
||||
// our view model couldn't yet be instantiated, so postpone it for a bit
|
||||
if (viewModelInstance === undefined) {
|
||||
postponed.push(viewModel);
|
||||
continue;
|
||||
}
|
||||
//>>>>>>> upstream/maintenance
|
||||
|
||||
|
||||
// we could resolve the depdendencies and the view model is not defined yet => add it, it's now fully processed
|
||||
var viewModelBindTargets = viewModel[2];
|
||||
|
|
@ -367,20 +226,8 @@ $(function() {
|
|||
allViewModels.push(viewModelInstance);
|
||||
viewModelMap[viewModelId] = viewModelInstance;
|
||||
}
|
||||
|
||||
//<<<<<<< HEAD
|
||||
// window.dropZoneTimeout = setTimeout(function () {
|
||||
// window.dropZoneTimeout = null;
|
||||
// dropOverlay.removeClass("in");
|
||||
// if (dropZoneLocal) dropZoneLocalBackground.removeClass("hover");
|
||||
// if (dropZoneSd) dropZoneSdBackground.removeClass("hover");
|
||||
// if (dropZone) dropZoneBackground.removeClass("hover");
|
||||
// }, 1000);
|
||||
// });
|
||||
//=======
|
||||
// anything that's now in the postponed list has to be readded to the unprocessedViewModels
|
||||
unprocessedViewModels = unprocessedViewModels.concat(postponed);
|
||||
//>>>>>>> upstream/maintenance
|
||||
|
||||
// if we still have the same amount of items in our list of unprocessed view models it means that we
|
||||
// couldn't instantiate any more view models over a whole iteration, which in turn mean we can't resolve the
|
||||
|
|
@ -398,6 +245,18 @@ $(function() {
|
|||
}
|
||||
log.info("... dependency resolution done");
|
||||
|
||||
//<<<<<<< HEAD
|
||||
// window.dropZoneTimeout = setTimeout(function () {
|
||||
// window.dropZoneTimeout = null;
|
||||
// dropOverlay.removeClass("in");
|
||||
// if (dropZoneLocal) dropZoneLocalBackground.removeClass("hover");
|
||||
// if (dropZoneSd) dropZoneSdBackground.removeClass("hover");
|
||||
// if (dropZone) dropZoneBackground.removeClass("hover");
|
||||
// }, 1000);
|
||||
// });
|
||||
//=======
|
||||
//>>>>>>> upstream/maintenance
|
||||
|
||||
var dataUpdater = new DataUpdater(allViewModels);
|
||||
|
||||
//~~ Custom knockout.js bindings
|
||||
|
|
@ -599,33 +458,18 @@ $(function() {
|
|||
e.stopPropagation();
|
||||
});
|
||||
|
||||
|
||||
//<<<<<<< HEAD
|
||||
// settingsViewModel.requestData(function() {
|
||||
// ko.applyBindings(settingsViewModel, document.getElementById("settings_dialog"));
|
||||
//
|
||||
// ko.applyBindings(connectionViewModel, document.getElementById("connection"));
|
||||
// ko.applyBindings(printerStateViewModel, document.getElementById("state"));
|
||||
// ko.applyBindings(gcodeFilesViewModel, document.getElementById("files_accordion"));
|
||||
// ko.applyBindings(controlViewModel, document.getElementById("control"));
|
||||
// ko.applyBindings(controlViewModel, document.getElementById("focus"));
|
||||
// ko.applyBindings(terminalViewModel, document.getElementById("term"));
|
||||
// var gcode = document.getElementById("gcode");
|
||||
// if (gcode) {
|
||||
// gcodeViewModel.initialize();
|
||||
// ko.applyBindings(gcodeViewModel, gcode);
|
||||
// if (printerStateViewModel.isSdReady() && loginStateViewModel.isUser()) {
|
||||
// enable_sd_dropzone();
|
||||
// } else {
|
||||
// disable_sd_dropzone();
|
||||
// }
|
||||
// ko.applyBindings(navigationViewModel, document.getElementById("navbar"));
|
||||
//// ko.applyBindings(appearanceViewModel, document.getElementsByTagName("head")[0]);
|
||||
// ko.applyBindings(printerStateViewModel, document.getElementById("drop_overlay"));
|
||||
// ko.applyBindings(logViewModel, document.getElementById("logs"));
|
||||
//
|
||||
//// var timelapseElement = document.getElementById("timelapse");
|
||||
//// if (timelapseElement) {
|
||||
//// ko.applyBindings(timelapseViewModel, timelapseElement);
|
||||
//// }
|
||||
////
|
||||
//// ko.applyBindings(slicingViewModel, document.getElementById("slicing_configuration_dialog"));
|
||||
// }
|
||||
//
|
||||
//=======
|
||||
|
||||
|
||||
// prevent default action for drag-n-drop
|
||||
$(document).bind("drop dragover", function (e) {
|
||||
e.preventDefault();
|
||||
|
|
@ -647,7 +491,6 @@ $(function() {
|
|||
if (!Array.isArray(viewModelData) || viewModelData.length != 2) {
|
||||
return;
|
||||
}
|
||||
//>>>>>>> upstream/maintenance
|
||||
|
||||
var viewModel = viewModelData[0];
|
||||
var targets = viewModelData[1];
|
||||
|
|
|
|||
|
|
@ -1,44 +1,4 @@
|
|||
//<<<<<<< HEAD
|
||||
//function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel, slicingViewModel) {
|
||||
// var self = this;
|
||||
//
|
||||
// self.printerState = printerStateViewModel;
|
||||
// self.loginState = loginStateViewModel;
|
||||
// self.slicing = slicingViewModel;
|
||||
// self.conversion = undefined;
|
||||
// self.workingArea = undefined;
|
||||
//
|
||||
// self.isErrorOrClosed = ko.observable(undefined);
|
||||
// self.isOperational = ko.observable(undefined);
|
||||
// self.isPrinting = ko.observable(undefined);
|
||||
// self.isPaused = ko.observable(undefined);
|
||||
// self.isError = ko.observable(undefined);
|
||||
// self.isReady = ko.observable(undefined);
|
||||
// self.isLoading = ko.observable(undefined);
|
||||
// self.isSdReady = ko.observable(undefined);
|
||||
//
|
||||
// self.searchQuery = ko.observable(undefined);
|
||||
// self.searchQuery.subscribe(function() {
|
||||
// self.performSearch();
|
||||
// });
|
||||
//
|
||||
// self.freeSpace = ko.observable(undefined);
|
||||
// self.freeSpaceString = ko.computed(function() {
|
||||
// if (!self.freeSpace())
|
||||
// return "-";
|
||||
// return formatSize(self.freeSpace());
|
||||
// });
|
||||
//
|
||||
// // initialize list helper
|
||||
// self.listHelper = new ItemListHelper(
|
||||
// "gcodeFiles",
|
||||
// {
|
||||
// "name": function(a, b) {
|
||||
// // sorts ascending
|
||||
// if (a["name"].toLocaleLowerCase() < b["name"].toLocaleLowerCase()) return -1;
|
||||
// if (a["name"].toLocaleLowerCase() > b["name"].toLocaleLowerCase()) return 1;
|
||||
// return 0;
|
||||
//=======
|
||||
|
||||
$(function() {
|
||||
function GcodeFilesViewModel(parameters) {
|
||||
var self = this;
|
||||
|
|
@ -58,6 +18,7 @@ $(function() {
|
|||
|
||||
self.searchQuery = ko.observable(undefined);
|
||||
self.searchQuery.subscribe(function() {
|
||||
console.log("searhc update");
|
||||
self.performSearch();
|
||||
});
|
||||
|
||||
|
|
@ -92,7 +53,6 @@ $(function() {
|
|||
if (a["bytes"] < b["bytes"]) return 1;
|
||||
return 0;
|
||||
}
|
||||
//>>>>>>> upstream/maintenance
|
||||
},
|
||||
{
|
||||
"printed": function(file) {
|
||||
|
|
@ -117,7 +77,7 @@ $(function() {
|
|||
0
|
||||
);
|
||||
|
||||
self.isLoadActionPossible = ko.computed(function() {
|
||||
self.isLoadActionPossible = ko.computed(function() {
|
||||
return self.loginState.isUser() && !self.isPrinting() && !self.isPaused() && !self.isLoading();
|
||||
});
|
||||
|
||||
|
|
@ -138,7 +98,7 @@ $(function() {
|
|||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
self.fromCurrentData = function(data) {
|
||||
self._processStateData(data.state);
|
||||
};
|
||||
|
|
@ -176,7 +136,7 @@ $(function() {
|
|||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
self.fromResponse = function(response, filenameToFocus, locationToFocus) {
|
||||
var files = response.files;
|
||||
_.each(files, function(element, index, list) {
|
||||
|
|
@ -200,73 +160,10 @@ $(function() {
|
|||
if (response.free) {
|
||||
self.freeSpace(response.free);
|
||||
}
|
||||
//<<<<<<< HEAD
|
||||
// },
|
||||
// "name",
|
||||
// [],
|
||||
// [["sd", "local"], ["machinecode", "model"]],
|
||||
// 0
|
||||
// );
|
||||
//
|
||||
// self.isLoadActionPossible = ko.computed(function() {
|
||||
// return self.loginState.isUser() && !self.isPrinting() && !self.isPaused() && !self.isLoading();
|
||||
// });
|
||||
//
|
||||
// self.isLoadAndPrintActionPossible = ko.computed(function() {
|
||||
// return self.loginState.isUser() && self.isOperational() && self.isLoadActionPossible();
|
||||
// });
|
||||
//
|
||||
// self.printerState.filename.subscribe(function(newValue) {
|
||||
// self.highlightFilename(newValue);
|
||||
// });
|
||||
//
|
||||
// self.highlightFilename = function(filename) {
|
||||
// if (filename == undefined) {
|
||||
// self.listHelper.selectNone();
|
||||
// } else {
|
||||
// self.listHelper.selectItem(function(item) {
|
||||
// return item.name == filename;
|
||||
// });
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// self.fromCurrentData = function(data) {
|
||||
// self._processStateData(data.state);
|
||||
// };
|
||||
//
|
||||
// self.fromHistoryData = function(data) {
|
||||
// self._processStateData(data.state);
|
||||
// };
|
||||
//
|
||||
// self._processStateData = function(data) {
|
||||
// self.isErrorOrClosed(data.flags.closedOrError);
|
||||
// self.isOperational(data.flags.operational);
|
||||
// self.isPaused(data.flags.paused);
|
||||
// self.isPrinting(data.flags.printing);
|
||||
// self.isError(data.flags.error);
|
||||
// self.isReady(data.flags.ready);
|
||||
// self.isLoading(data.flags.loading);
|
||||
// self.isSdReady(data.flags.sdReady);
|
||||
// };
|
||||
//
|
||||
// self._otherRequestInProgress = false;
|
||||
// self.requestData = function(filenameToFocus, locationToFocus) {
|
||||
// if (self._otherRequestInProgress) return;
|
||||
//
|
||||
// self._otherRequestInProgress = true;
|
||||
// $.ajax({
|
||||
// url: API_BASEURL + "files",
|
||||
// method: "GET",
|
||||
// dataType: "json",
|
||||
// success: function(response) {
|
||||
//
|
||||
// self.fromResponse(response, filenameToFocus, locationToFocus);
|
||||
// self._otherRequestInProgress = false;
|
||||
// },
|
||||
// error: function(response) {
|
||||
// console.error("ajax/json error", response);
|
||||
// self._otherRequestInProgress = false;
|
||||
//=======
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
self.highlightFilename(self.printerState.filename());
|
||||
};
|
||||
|
|
@ -328,7 +225,6 @@ $(function() {
|
|||
return data["refs"]["download"];
|
||||
} else {
|
||||
return false;
|
||||
//>>>>>>> upstream/maintenance
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -355,6 +251,7 @@ $(function() {
|
|||
return "files_template_" + data.type;
|
||||
}
|
||||
};
|
||||
|
||||
self.getEntryId = function(data) {
|
||||
return "gcode_file_" + md5(data["origin"] + ":" + data["name"]);
|
||||
};
|
||||
|
|
@ -381,29 +278,20 @@ $(function() {
|
|||
self.enableSlicing = function(data) {
|
||||
return self.loginState.isUser() && self.slicing.enableSlicingDialog();
|
||||
};
|
||||
// self.enableSlicing = function(data) {
|
||||
// return self.loginState.isUser() && !(self.isPrinting() || self.isPaused());
|
||||
// };
|
||||
self.startGcodeWithSafetyWarning = function(gcodeFile){
|
||||
self.loadFile(gcodeFile, false);
|
||||
|
||||
//<<<<<<< HEAD
|
||||
// $.ajax({
|
||||
// url: file.refs.resource,
|
||||
// type: "POST",
|
||||
// dataType: "json",
|
||||
// contentType: "application/json; charset=UTF-8",
|
||||
// data: JSON.stringify({command: "select", print: printAfterLoad})
|
||||
// });
|
||||
// };
|
||||
//
|
||||
// self.startGcodeWithSafetyWarning = function(gcodeFile){
|
||||
// self.loadFile(gcodeFile, false);
|
||||
//
|
||||
// self.printerState.show_safety_glasses_warning(function(){
|
||||
// self.loadFile(gcodeFile, true);
|
||||
// });
|
||||
// };
|
||||
//=======
|
||||
self.enableAdditionalData = function(data) {
|
||||
self.printerState.show_safety_glasses_warning(function(){
|
||||
self.loadFile(gcodeFile, true);
|
||||
});
|
||||
};
|
||||
|
||||
self.enableAdditionalData = function(data) {
|
||||
return data["gcodeAnalysis"] || data["prints"] && data["prints"]["last"];
|
||||
};
|
||||
//>>>>>>> upstream/maintenance
|
||||
|
||||
self.toggleAdditionalData = function(data) {
|
||||
var entryElement = self.getEntryElement(data);
|
||||
|
|
@ -440,7 +328,7 @@ $(function() {
|
|||
}
|
||||
return output;
|
||||
};
|
||||
|
||||
|
||||
self.performSearch = function(e) {
|
||||
if (e !== undefined) {
|
||||
e.preventDefault();
|
||||
|
|
@ -468,6 +356,10 @@ $(function() {
|
|||
self.uploadButton.fileupload("disable");
|
||||
};
|
||||
|
||||
self.enableSVGConversion = function (data) {
|
||||
return self.loginState.isUser() && !(self.isPrinting() || self.isPaused());
|
||||
};
|
||||
|
||||
self.onStartup = function() {
|
||||
$(".accordion-toggle[data-target='#files']").click(function() {
|
||||
var files = $("#files");
|
||||
|
|
@ -503,112 +395,8 @@ $(function() {
|
|||
location = "local";
|
||||
}
|
||||
self.requestData(filename, location);
|
||||
|
||||
//<<<<<<< HEAD
|
||||
// self._sendSdCommand = function(command) {
|
||||
// $.ajax({
|
||||
// url: API_BASEURL + "printer/sd",
|
||||
// type: "POST",
|
||||
// dataType: "json",
|
||||
// contentType: "application/json; charset=UTF-8",
|
||||
// data: JSON.stringify({command: command})
|
||||
// });
|
||||
// };
|
||||
//
|
||||
// self.downloadLink = function(data) {
|
||||
// if (data["refs"] && data["refs"]["download"]) {
|
||||
// return data["refs"]["download"];
|
||||
// } else {
|
||||
// return false;
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// self.lastTimePrinted = function(data) {
|
||||
// if (data["prints"] && data["prints"]["last"] && data["prints"]["last"]["date"]) {
|
||||
// return data["prints"]["last"]["date"];
|
||||
// } else {
|
||||
// return "-";
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// self.getSuccessClass = function(data) {
|
||||
// if (!data["prints"] || !data["prints"]["last"]) {
|
||||
// return "";
|
||||
// }
|
||||
// return data["prints"]["last"]["success"] ? "text-success" : "text-error";
|
||||
// };
|
||||
//
|
||||
// self.templateFor = function(data) {
|
||||
// var extension = data.name.split('.').pop().toLowerCase();
|
||||
// if (extension == "svg") {
|
||||
// return "files_template_" + data.type + "_svg";
|
||||
// } else {
|
||||
// return "files_template_" + data.type;
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// self.getEntryId = function(data) {
|
||||
// return "gcode_file_" + md5(data["origin"] + ":" + data["name"]);
|
||||
// };
|
||||
//
|
||||
// self.getEntryElement = function(data) {
|
||||
// var entryId = self.getEntryId(data);
|
||||
// var entryElements = $("#" + entryId);
|
||||
// if (entryElements && entryElements[0]) {
|
||||
// return entryElements[0];
|
||||
// } else {
|
||||
// return undefined;
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// self.enableRemove = function(data) {
|
||||
// return self.loginState.isUser() && !_.contains(self.printerState.busyFiles(), data.origin + ":" + data.name);
|
||||
// };
|
||||
//
|
||||
// self.enableSelect = function(data, printAfterSelect) {
|
||||
// var isLoadActionPossible = self.loginState.isUser() && self.isOperational() && !(self.isPrinting() || self.isPaused() || self.isLoading());
|
||||
// return isLoadActionPossible && !self.listHelper.isSelected(data);
|
||||
// };
|
||||
//
|
||||
// self.enableSlicing = function(data) {
|
||||
// return self.loginState.isUser() && !(self.isPrinting() || self.isPaused());
|
||||
// };
|
||||
//
|
||||
// self.enableSVGConversion = function(data) {
|
||||
// return self.loginState.isUser() && !(self.isPrinting() || self.isPaused());
|
||||
// };
|
||||
//
|
||||
// self.enableAdditionalData = function(data) {
|
||||
// return data["gcodeAnalysis"] || data["prints"] && data["prints"]["last"];
|
||||
// };
|
||||
//
|
||||
// self.toggleAdditionalData = function(data) {
|
||||
// var entryElement = self.getEntryElement(data);
|
||||
// if (!entryElement) return;
|
||||
//
|
||||
// var additionalInfo = $(".additionalInfo", entryElement);
|
||||
// additionalInfo.slideToggle("fast", function() {
|
||||
// $(".toggleAdditionalData i", entryElement).toggleClass("icon-chevron-down icon-chevron-up");
|
||||
// });
|
||||
// };
|
||||
//
|
||||
// self.getAdditionalData = function(data) {
|
||||
// var output = "";
|
||||
// if (data["gcodeAnalysis"]) {
|
||||
// if (data["gcodeAnalysis"]["filament"] && typeof(data["gcodeAnalysis"]["filament"]) == "object") {
|
||||
// var filament = data["gcodeAnalysis"]["filament"];
|
||||
// if (_.keys(filament).length == 1) {
|
||||
// output += gettext("Filament") + ": " + formatFilament(data["gcodeAnalysis"]["filament"]["tool" + 0]) + "<br>";
|
||||
// } else if (_.keys(filament).length > 1) {
|
||||
// for (var toolKey in filament) {
|
||||
// if (!_.startsWith(toolKey, "tool") || !filament[toolKey] || !filament[toolKey].hasOwnProperty("length") || filament[toolKey]["length"] <= 0) continue;
|
||||
//
|
||||
// output += gettext("Filament") + " (" + gettext("Tool") + " " + toolKey.substr("tool".length) + "): " + formatFilament(filament[toolKey]) + "<br>";
|
||||
// }
|
||||
//=======
|
||||
if (_.endsWith(filename.toLowerCase(), ".stl")) {
|
||||
self.slicing.show(location, filename);
|
||||
//>>>>>>> upstream/maintenance
|
||||
}
|
||||
|
||||
if (data.result.done) {
|
||||
|
|
@ -618,6 +406,7 @@ $(function() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
function gcode_upload_fail(e, data) {
|
||||
var error = "<p>" + gettext("Could not upload the file. Make sure that it is a GCODE file and has the extension \".gcode\" or \".gco\" or that it is an STL file with the extension \".stl\".") + "</p>";
|
||||
error += pnotifyAdditionalInfo("<pre>" + data.jqXHR.responseText + "</pre>");
|
||||
|
|
@ -826,6 +615,6 @@ $(function() {
|
|||
OCTOPRINT_VIEWMODELS.push([
|
||||
GcodeFilesViewModel,
|
||||
["printerStateViewModel", "loginStateViewModel", "slicingViewModel"],
|
||||
"#files_wrapper"
|
||||
["#files_wrapper", "#files_search"]
|
||||
]);
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue