@@ -896,10 +896,12 @@ function addPreviewOptions(nodeType) {
896896
897897 let url = null
898898 if ( previewWidget . videoEl ?. hidden == false && previewWidget . videoEl . src ) {
899- //Use full quality video
900- url = api . apiURL ( '/view?' + new URLSearchParams ( previewWidget . value . params ) ) ;
901- //Workaround for 16bit png: Just do first frame
902- url = url . replace ( '%2503d' , '001' )
899+ if ( [ 'input' , 'output' , 'temp' ] . includes ( previewWidget . value . params . type ) ) {
900+ //Use full quality video
901+ url = api . apiURL ( '/view?' + new URLSearchParams ( previewWidget . value . params ) ) ;
902+ //Workaround for 16bit png: Just do first frame
903+ url = url . replace ( '%2503d' , '001' )
904+ }
903905 } else if ( previewWidget . imgEl ?. hidden == false && previewWidget . imgEl . src ) {
904906 url = previewWidget . imgEl . src ;
905907 url = new URL ( url ) ;
@@ -917,13 +919,29 @@ function addPreviewOptions(nodeType) {
917919 callback : ( ) => {
918920 const a = document . createElement ( "a" ) ;
919921 a . href = url ;
920- a . setAttribute ( "download" , new URLSearchParams ( previewWidget . value . params ) . get ( " filename" ) ) ;
922+ a . setAttribute ( "download" , previewWidget . value . params . filename ) ;
921923 document . body . append ( a ) ;
922924 a . click ( ) ;
923925 requestAnimationFrame ( ( ) => a . remove ( ) ) ;
924926 } ,
925927 }
926928 ) ;
929+ if ( previewWidget . value . params . workflow ) {
930+ let wParams = { ...previewWidget . value . params ,
931+ filename : previewWidget . value . params . workflow }
932+ let wUrl = api . apiURL ( '/view?' + new URLSearchParams ( wParams ) ) ;
933+ optNew . push ( {
934+ content : "Save workflow image" ,
935+ callback : ( ) => {
936+ const a = document . createElement ( "a" ) ;
937+ a . href = wUrl ;
938+ a . setAttribute ( "download" , previewWidget . value . params . workflow ) ;
939+ document . body . append ( a ) ;
940+ a . click ( ) ;
941+ requestAnimationFrame ( ( ) => a . remove ( ) ) ;
942+ }
943+ } ) ;
944+ }
927945 }
928946 const PauseDesc = ( previewWidget . value . paused ? "Resume" : "Pause" ) + " preview" ;
929947 if ( previewWidget . videoEl . hidden == false ) {
0 commit comments