From b5c5ad13c1ecfc5413a5f3afb0ecadf97fa551ec Mon Sep 17 00:00:00 2001 From: Vitor de Miranda Henrique Date: Sun, 20 Dec 2020 23:39:19 -0600 Subject: [PATCH] changing template structure --- octoprint_enclosure/__init__.py | 4 ++ .../templates/enclosure_settings.jinja2 | 42 +++++------ octoprint_enclosure/static/js/enclosure.js | 30 ++++++-- .../templates/enclosureSettings.jinja2 | 5 -- .../templates/enclosure_settings.jinja2 | 5 ++ .../templates/outputEditor.jinja2 | 44 ------------ .../templates/outputEditorGeneral.jinja2 | 9 --- .../templates/outputTable.jinja2 | 16 ----- .../output_editor/gcode_output.jinja2 | 4 ++ .../output_editor/general_info.jinja2 | 70 +++++++++++++++++++ .../templates/output_editor/io_output.jinja2 | 21 ++++++ .../output_editor/main_screen.jinja2 | 37 ++++++++++ .../output_editor/neopixel_output.jinja2 | 5 ++ .../templates/output_editor/pwm_output.jinja2 | 4 ++ .../output_editor/rgb_strip_output.jinja2 | 4 ++ .../output_editor/shell_script_output.jinja2 | 4 ++ .../output_editor/temp_alarm_output.jinja2 | 5 ++ .../output_editor/temp_sensor_output.jinja2 | 3 + .../templates/output_table.jinja2 | 23 ++++++ 19 files changed, 234 insertions(+), 101 deletions(-) delete mode 100644 octoprint_enclosure/templates/enclosureSettings.jinja2 create mode 100644 octoprint_enclosure/templates/enclosure_settings.jinja2 delete mode 100644 octoprint_enclosure/templates/outputEditor.jinja2 delete mode 100644 octoprint_enclosure/templates/outputEditorGeneral.jinja2 delete mode 100644 octoprint_enclosure/templates/outputTable.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/gcode_output.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/general_info.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/io_output.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/main_screen.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/neopixel_output.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/pwm_output.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/rgb_strip_output.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/shell_script_output.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/temp_alarm_output.jinja2 create mode 100644 octoprint_enclosure/templates/output_editor/temp_sensor_output.jinja2 create mode 100644 octoprint_enclosure/templates/output_table.jinja2 diff --git a/octoprint_enclosure/__init__.py b/octoprint_enclosure/__init__.py index af4c8bf..314a7a0 100644 --- a/octoprint_enclosure/__init__.py +++ b/octoprint_enclosure/__init__.py @@ -23,6 +23,10 @@ class EnclosurePlugin(octoprint.plugin.StartupPlugin, octoprint.plugin.TemplateP js=["js/enclosure.js", "js/bootstrap-colorpicker.min.js"], css=["css/bootstrap-colorpicker.css", "css/enclosure.css"]) + # ~~ SettingsPlugin + def get_settings_defaults(self): + return dict(enclosureOutputs=[]) + # ~~ Softwareupdate hook def get_update_information(self): return dict(enclosure=dict(displayName="Enclosure Plugin", displayVersion=self._plugin_version, diff --git a/octoprint_enclosure/old_stuff/templates/enclosure_settings.jinja2 b/octoprint_enclosure/old_stuff/templates/enclosure_settings.jinja2 index 45a2b8a..b5eb478 100644 --- a/octoprint_enclosure/old_stuff/templates/enclosure_settings.jinja2 +++ b/octoprint_enclosure/old_stuff/templates/enclosure_settings.jinja2 @@ -11,7 +11,7 @@ -
+ -
+ -
+
@@ -92,22 +92,22 @@
-
- -
- + + + + - GPIO number that will be controlled. + - - Attention Neopixel requires a microcontroller (ex: arduino) - connected to I2C bus. This is the pin on the - microcontroller that is connected to the Neopixel. - + + + + + -
-
+ + @@ -253,14 +253,14 @@ -
+ diff --git a/octoprint_enclosure/static/js/enclosure.js b/octoprint_enclosure/static/js/enclosure.js index f9f6d9a..d34d400 100644 --- a/octoprint_enclosure/static/js/enclosure.js +++ b/octoprint_enclosure/static/js/enclosure.js @@ -1,8 +1,8 @@ $(function () { - var cleanOutput = function () { + var cleanOutput = function (index_id) { return { - index_id: "", + index_id: index_id, label: "", output_type: "Regular", gpio: { @@ -15,18 +15,24 @@ $(function () { var self = this; self.isNew = ko.observable(false); + self.index_id = ko.observable(); self.label = ko.observable(); self.output_type = ko.observable(); self.gpio_pin = ko.observable(); + self.enclosureOutputs = undefined; self.fromOutputData = function (data) { self.isNew(data === undefined); if (data === undefined) { - data = cleanOutput(); + var arrRelaysLength = self.enclosureOutputs().length; + var nextIndex = arrRelaysLength == 0 ? 1 : self.enclosureOutputs()[arrRelaysLength - 1].index_id + 1; + data = cleanOutput(nextIndex); } + + self.index_id(data.index_id); self.label(data.label); self.output_type(data.output_type); self.gpio_pin(data.gpio.pin_name); @@ -46,7 +52,7 @@ $(function () { }; // end of EnclosureOutputEditorViewModel - }; + }; function EnclosureViewModel(parameters) { var self = this; @@ -57,6 +63,15 @@ $(function () { self.enclosureOutputs = ko.observableArray(); + self.onBeforeBinding = function () { + self.enclosureOutputs(self.settingsViewModel.settings.plugins.enclosure.enclosureOutputs()); + // console.log(self.settingsViewModel.settings.plugins.enclosure) + }; + + self.onEventSettingsUpdated = function () { + self.enclosureOutputs(self.settingsViewModel.settings.plugins.enclosure.enclosureOutputs()); + }; + self.createOutputEditor = function (data) { var outputEditor = new EnclosureOutputEditorViewModel(); @@ -64,6 +79,7 @@ $(function () { }; self.outputEditor = self.createOutputEditor(); + self.outputEditor.enclosureOutputs = self.enclosureOutputs; self.showOutputEditorDialog = function (data) { @@ -87,10 +103,12 @@ $(function () { self.addOutputs = function () { var output = self.outputEditor.toOutputData(); + self.settingsViewModel.settings.plugins.enclosure.enclosureOutputs.push(output); }; - self.print = function () { - console.log(self); + self.print_data = function () { + console.log(self.enclosureOutputs.root); + // console.log(self); }; // end of EnclosureViewModel diff --git a/octoprint_enclosure/templates/enclosureSettings.jinja2 b/octoprint_enclosure/templates/enclosureSettings.jinja2 deleted file mode 100644 index a6d0db4..0000000 --- a/octoprint_enclosure/templates/enclosureSettings.jinja2 +++ /dev/null @@ -1,5 +0,0 @@ -

{{ _('Raspberry Pi Outputs') }}

- -{% include "outputTable.jinja2" %} - -{% include "outputEditor.jinja2" %} \ No newline at end of file diff --git a/octoprint_enclosure/templates/enclosure_settings.jinja2 b/octoprint_enclosure/templates/enclosure_settings.jinja2 new file mode 100644 index 0000000..7db8ede --- /dev/null +++ b/octoprint_enclosure/templates/enclosure_settings.jinja2 @@ -0,0 +1,5 @@ +

{{ _('Raspberry Pi Outputs') }}

+ +{% include "output_table.jinja2" %} + +{% include "output_editor/main_screen.jinja2" %} \ No newline at end of file diff --git a/octoprint_enclosure/templates/outputEditor.jinja2 b/octoprint_enclosure/templates/outputEditor.jinja2 deleted file mode 100644 index ca5611c..0000000 --- a/octoprint_enclosure/templates/outputEditor.jinja2 +++ /dev/null @@ -1,44 +0,0 @@ - - - diff --git a/octoprint_enclosure/templates/outputEditorGeneral.jinja2 b/octoprint_enclosure/templates/outputEditorGeneral.jinja2 deleted file mode 100644 index 64c0dbd..0000000 --- a/octoprint_enclosure/templates/outputEditorGeneral.jinja2 +++ /dev/null @@ -1,9 +0,0 @@ -
-
- -
- - Name displayed on Enclosure Tab -
-
-
diff --git a/octoprint_enclosure/templates/outputTable.jinja2 b/octoprint_enclosure/templates/outputTable.jinja2 deleted file mode 100644 index 720f363..0000000 --- a/octoprint_enclosure/templates/outputTable.jinja2 +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - -
IdTypeGPIO
- -
- -
diff --git a/octoprint_enclosure/templates/output_editor/gcode_output.jinja2 b/octoprint_enclosure/templates/output_editor/gcode_output.jinja2 new file mode 100644 index 0000000..4e2fccc --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/gcode_output.jinja2 @@ -0,0 +1,4 @@ +
+ + +
diff --git a/octoprint_enclosure/templates/output_editor/general_info.jinja2 b/octoprint_enclosure/templates/output_editor/general_info.jinja2 new file mode 100644 index 0000000..4da1e95 --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/general_info.jinja2 @@ -0,0 +1,70 @@ +
+ +
+ +
+ + Auto generated ID for Output +
+
+
+ +
+ + Name displayed on Enclosure Tab +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + +
diff --git a/octoprint_enclosure/templates/output_editor/io_output.jinja2 b/octoprint_enclosure/templates/output_editor/io_output.jinja2 new file mode 100644 index 0000000..c646d90 --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/io_output.jinja2 @@ -0,0 +1,21 @@ +
+ +
+ +
+ + GPIO number that will be controlled. +
+
+ + + + +
diff --git a/octoprint_enclosure/templates/output_editor/main_screen.jinja2 b/octoprint_enclosure/templates/output_editor/main_screen.jinja2 new file mode 100644 index 0000000..63c8815 --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/main_screen.jinja2 @@ -0,0 +1,37 @@ + diff --git a/octoprint_enclosure/templates/output_editor/neopixel_output.jinja2 b/octoprint_enclosure/templates/output_editor/neopixel_output.jinja2 new file mode 100644 index 0000000..00afc80 --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/neopixel_output.jinja2 @@ -0,0 +1,5 @@ +
+ + + +
diff --git a/octoprint_enclosure/templates/output_editor/pwm_output.jinja2 b/octoprint_enclosure/templates/output_editor/pwm_output.jinja2 new file mode 100644 index 0000000..4e2fccc --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/pwm_output.jinja2 @@ -0,0 +1,4 @@ +
+ + +
diff --git a/octoprint_enclosure/templates/output_editor/rgb_strip_output.jinja2 b/octoprint_enclosure/templates/output_editor/rgb_strip_output.jinja2 new file mode 100644 index 0000000..4e2fccc --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/rgb_strip_output.jinja2 @@ -0,0 +1,4 @@ +
+ + +
diff --git a/octoprint_enclosure/templates/output_editor/shell_script_output.jinja2 b/octoprint_enclosure/templates/output_editor/shell_script_output.jinja2 new file mode 100644 index 0000000..4e2fccc --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/shell_script_output.jinja2 @@ -0,0 +1,4 @@ +
+ + +
diff --git a/octoprint_enclosure/templates/output_editor/temp_alarm_output.jinja2 b/octoprint_enclosure/templates/output_editor/temp_alarm_output.jinja2 new file mode 100644 index 0000000..00afc80 --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/temp_alarm_output.jinja2 @@ -0,0 +1,5 @@ +
+ + + +
diff --git a/octoprint_enclosure/templates/output_editor/temp_sensor_output.jinja2 b/octoprint_enclosure/templates/output_editor/temp_sensor_output.jinja2 new file mode 100644 index 0000000..d5e38cf --- /dev/null +++ b/octoprint_enclosure/templates/output_editor/temp_sensor_output.jinja2 @@ -0,0 +1,3 @@ +
+ +
diff --git a/octoprint_enclosure/templates/output_table.jinja2 b/octoprint_enclosure/templates/output_table.jinja2 new file mode 100644 index 0000000..d081048 --- /dev/null +++ b/octoprint_enclosure/templates/output_table.jinja2 @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + +
IdTypeGPIO
+ +
+ +
+ + \ No newline at end of file