From fe3b05256adfebad7a10363d506b7470a28495a2 Mon Sep 17 00:00:00 2001 From: Philipp Engel Date: Mon, 24 Nov 2014 20:01:05 +0100 Subject: [PATCH] hacked support for Vector File conversion into the GcodeFilesViewModel and the main javascript file. Should all be encapsulated in the svgtogcode plugin TODO: figure out a way to move the code to the plugin --- src/octoprint/static/js/app/main.js | 13 ++++++++++--- src/octoprint/static/js/app/viewmodels/files.js | 5 +++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/octoprint/static/js/app/main.js b/src/octoprint/static/js/app/main.js index 4edd1106..07171212 100644 --- a/src/octoprint/static/js/app/main.js +++ b/src/octoprint/static/js/app/main.js @@ -77,7 +77,8 @@ $(function() { var controlViewModel = new ControlViewModel(loginStateViewModel, settingsViewModel); var terminalViewModel = new TerminalViewModel(loginStateViewModel, settingsViewModel); var slicingViewModel = new SlicingViewModel(loginStateViewModel); - var gcodeFilesViewModel = new GcodeFilesViewModel(printerStateViewModel, loginStateViewModel, slicingViewModel); + var vectorConversionViewModel = new VectorConversionViewModel(loginStateViewModel); + var gcodeFilesViewModel = new GcodeFilesViewModel(printerStateViewModel, loginStateViewModel, slicingViewModel, vectorConversionViewModel); var gcodeViewModel = new GcodeViewModel(loginStateViewModel, settingsViewModel); var navigationViewModel = new NavigationViewModel(loginStateViewModel, appearanceViewModel, settingsViewModel, usersViewModel); var logViewModel = new LogViewModel(loginStateViewModel); @@ -97,7 +98,8 @@ $(function() { gcodeViewModel: gcodeViewModel, navigationViewModel: navigationViewModel, logViewModel: logViewModel, - slicingViewModel: slicingViewModel + slicingViewModel: slicingViewModel, + vectorConversionViewModel: vectorConversionViewModel }; var allViewModels = _.values(viewModelMap); @@ -413,6 +415,7 @@ $(function() { } ko.applyBindings(slicingViewModel, document.getElementById("slicing_configuration_dialog")); + ko.applyBindings(vectorConversionViewModel, document.getElementById("dialog_vector_graphics_conversion")); // apply bindings and signal startup _.each(additionalViewModels, function(additionalViewModel) { @@ -421,7 +424,11 @@ $(function() { } // model instance, target container - ko.applyBindings(additionalViewModel[0], additionalViewModel[1]); + if (additionalViewModel[1]) { + ko.applyBindings(additionalViewModel[0], additionalViewModel[1]); + } else { + ko.applyBindings(additionalViewModel[0]); + } if (additionalViewModel[0].hasOwnProperty("onAfterBinding")) { additionalViewModel[0].onAfterBinding(); diff --git a/src/octoprint/static/js/app/viewmodels/files.js b/src/octoprint/static/js/app/viewmodels/files.js index 2bb97ff7..71e71c52 100644 --- a/src/octoprint/static/js/app/viewmodels/files.js +++ b/src/octoprint/static/js/app/viewmodels/files.js @@ -1,9 +1,10 @@ -function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel, slicingViewModel) { +function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel, slicingViewModel, vectorConversionViewModel) { var self = this; self.printerState = printerStateViewModel; self.loginState = loginStateViewModel; self.slicing = slicingViewModel; + self.conversion = vectorConversionViewModel; self.isErrorOrClosed = ko.observable(undefined); self.isOperational = ko.observable(undefined); @@ -192,7 +193,7 @@ function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel, slicing self.convertSVG = function(file) { if (!file) return; - self.svgconversion.show(file.origin, file.name); + self.conversion.show(file.origin, file.name); }; self.initSdCard = function() {