@@ -7,6 +7,58 @@ $(function () {
77 self . settingsViewModel = parameters [ 2 ] ;
88 self . printerState = parameters [ 3 ] ;
99
10+ self . btnRestartClick = function ( ) {
11+ OctoPrint . control . sendGcode ( 'RESTART' ) ;
12+ }
13+
14+ self . btnFirmwareRestartClick = function ( ) {
15+ OctoPrint . control . sendGcode ( 'FIRMWARE_RESTART' ) ;
16+ }
17+
18+ self . initializeButton = function ( ) {
19+ var buttonContainer = $ ( '#job_print' ) [ 0 ] . parentElement ;
20+ var container = document . createElement ( "div" ) ;
21+ container . classList . add ( "row-fluid" , "print-control" ) ;
22+ container . style . marginTop = "10px" ;
23+ container . setAttribute ( "data-bind" , "visible: $root.loginState.hasPermissionKo($root.access.permissions.PRINT)" ) ;
24+
25+ var btnRestart = document . createElement ( "button" ) ;
26+ btnRestart . id = "job_restart" ;
27+ btnRestart . title = "Reload configuration file and performs an internal reset of the host software. It does not clear the error state from the micro-controller." ;
28+ btnRestart . classList . add ( "btn" ) ;
29+ btnRestart . classList . add ( "span6" ) ;
30+ btnRestart . addEventListener ( "click" , self . btnRestartClick ) ;
31+
32+ var btnRestartIcon = document . createElement ( "i" ) ;
33+ btnRestartIcon . classList . add ( "fa" , "fa-redo" ) ;
34+ btnRestart . appendChild ( btnRestartIcon ) ;
35+
36+ var btnRestartText = document . createElement ( "span" ) ;
37+ btnRestartText . textContent = " Restart" ;
38+ btnRestart . appendChild ( btnRestartText ) ;
39+
40+ container . appendChild ( btnRestart ) ;
41+
42+ var btnFirmwareRestart = document . createElement ( "button" ) ;
43+ btnFirmwareRestart . id = "job_firmware_restart" ;
44+ btnFirmwareRestart . title = "Reload configuration file and performs an internal reset of the host software, but it also clears any error states from the micro-controller." ;
45+ btnFirmwareRestart . classList . add ( "btn" ) ;
46+ btnFirmwareRestart . classList . add ( "span6" ) ;
47+ btnFirmwareRestart . addEventListener ( "click" , self . btnFirmwareRestartClick ) ;
48+
49+ var btnFirmwareRestartIcon = document . createElement ( "i" ) ;
50+ btnFirmwareRestartIcon . classList . add ( "fa" , "fa-sync" ) ;
51+ btnFirmwareRestart . appendChild ( btnFirmwareRestartIcon ) ;
52+
53+ var btnFirmwareRestartText = document . createElement ( "span" ) ;
54+ btnFirmwareRestartText . textContent = " Firmware Restart" ;
55+ btnFirmwareRestart . appendChild ( btnFirmwareRestartText ) ;
56+
57+ container . appendChild ( btnFirmwareRestart ) ;
58+
59+ buttonContainer . after ( container ) ;
60+ } ;
61+
1062 self . webcams = ko . observableArray ( [ ] ) ;
1163 self . webcamAvailable = ko . pureComputed ( ( ) => {
1264 return self . webcams ( ) . length > 0 ;
@@ -135,6 +187,8 @@ $(function () {
135187 function ( ) {
136188 self . requestData ( ) ;
137189 } ;
190+
191+ self . initializeButton ( ) ;
138192 }
139193
140194 OCTOPRINT_VIEWMODELS . push ( {
0 commit comments