@@ -16,11 +16,9 @@ $(function() {
16
16
self . thumbnail_title = ko . observable ( '' ) ;
17
17
self . inline_thumbnail = ko . observable ( ) ;
18
18
19
- self . filesViewModel . open_thumbnail = function ( data ) {
19
+ self . filesViewModel . prusaslicerthumbnails_open_thumbnail = function ( data ) {
20
20
if ( data . name . indexOf ( '.gcode' ) > 0 ) {
21
21
var thumbnail_title = data . path . replace ( '.gcode' , '' ) ;
22
- // var thumbnail_url = '/plugin/prusaslicerthumbnails/thumbnail/' + data.path.replace('.gcode','.png');
23
- // self.thumbnail_url(thumbnail_url);
24
22
self . thumbnail_url ( data . thumbnail ) ;
25
23
self . thumbnail_title ( thumbnail_title ) ;
26
24
$ ( 'div#prusa_thumbnail_viewer' ) . modal ( "show" ) ;
@@ -70,22 +68,31 @@ $(function() {
70
68
71
69
self . filesViewModel . listHelper . selectedItem . subscribe ( function ( data ) {
72
70
// remove the state panel thumbnail in case it's already there
73
- $ ( '#prusalicer_state_thumbnail' ) . remove ( ) ;
74
- if ( self . settingsViewModel . settings . plugins . prusaslicerthumbnails . state_panel_thumbnail ( ) && data . thumbnail && data . thumbnail_src == 'prusaslicerthumbnails' ) {
75
- $ ( '#state > div > hr:nth-child(4)' ) . after ( '<div id="prusalicer_state_thumbnail" class="row-fluid"><img src="' + data . thumbnail + '" width="100%"/>\n<hr/></div>' ) ;
71
+ if ( data ) {
72
+ if ( self . settingsViewModel . settings . plugins . prusaslicerthumbnails . state_panel_thumbnail ( ) && data . thumbnail && data . thumbnail_src == 'prusaslicerthumbnails' ) {
73
+ if ( $ ( '#prusalicer_state_thumbnail' ) . length ) {
74
+ $ ( '#prusalicer_state_thumbnail > img' ) . attr ( 'src' , data . thumbnail ) ;
75
+ } else {
76
+ $ ( '#state > div > hr:nth-child(4)' ) . after ( '<div id="prusalicer_state_thumbnail" class="row-fluid"><img src="' + data . thumbnail + '" width="100%"/>\n<hr/></div>' ) ;
77
+ }
78
+ } else {
79
+ $ ( '#prusalicer_state_thumbnail' ) . remove ( ) ;
80
+ }
81
+ } else {
82
+ $ ( '#prusalicer_state_thumbnail' ) . remove ( ) ;
76
83
}
77
84
} ) ;
78
85
}
79
86
80
87
81
88
$ ( document ) . ready ( function ( ) {
82
89
let regex = / < d i v c l a s s = " b t n - g r o u p a c t i o n - b u t t o n s " > ( [ \s \S ] * ) < .d i v > / mi;
83
- let template = '<div class="btn btn-mini" data-bind="click: function() { if ($root.loginState.isUser()) { $root.open_thumbnail ($data) } else { return; } }, visible: ($data.thumbnail_src == \'prusaslicerthumbnails\' && $root.settingsViewModel.settings.plugins.prusaslicerthumbnails.inline_thumbnail() == false)" title="Show Thumbnail" style="display: none;"><i class="fa fa-image"></i></div>' ;
90
+ let template = '<div class="btn btn-mini" data-bind="click: function() { if ($root.loginState.isUser()) { $root.prusaslicerthumbnails_open_thumbnail ($data) } else { return; } }, visible: ($data.thumbnail_src == \'prusaslicerthumbnails\' && $root.settingsViewModel.settings.plugins.prusaslicerthumbnails.inline_thumbnail() == false)" title="Show Thumbnail" style="display: none;"><i class="fa fa-image"></i></div>' ;
84
91
let inline_thumbnail_template = '<div class="row-fluid inline_prusa_thumbnail" ' +
85
92
'data-bind="if: ($data.thumbnail_src == \'prusaslicerthumbnails\' && $root.settingsViewModel.settings.plugins.prusaslicerthumbnails.inline_thumbnail() == true), style: {\'text-align\': $root.thumbnailAlignValue}">' +
86
93
'<img data-bind="attr: {src: $data.thumbnail, width: $root.thumbnailScaleValue}, ' +
87
94
'visible: ($data.thumbnail_src == \'prusaslicerthumbnails\' && $root.settingsViewModel.settings.plugins.prusaslicerthumbnails.inline_thumbnail() == true), ' +
88
- 'click: function() { if ($root.loginState.isUser()) { $root.open_thumbnail ($data) } else { return; } }" ' +
95
+ 'click: function() { if ($root.loginState.isUser()) { $root.prusaslicerthumbnails_open_thumbnail ($data) } else { return; } }" ' +
89
96
'style="display: none;"/></div>'
90
97
91
98
$ ( "#files_template_machinecode" ) . text ( function ( ) {
0 commit comments