@@ -2968,11 +2968,33 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
29682968
29692969 let addPreview ;
29702970 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] createFolder (id: ${ id } ): Selecting addPreview function based on folder.settings.preview = ${ folder . settings . preview } . Context setting: ${ folder . settings . context } ` ) ;
2971- const compactMultiRowPreview = false ;
2971+ const compactMultiRowPreview = isCompactMultiRowPreview ( folder . settings ) ;
2972+ const appendCompactPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
2973+ const { $item, $tooltipTrigger } = buildDockerPreviewItem ( {
2974+ entry : previewEntry || { } ,
2975+ settings : folder . settings ,
2976+ autostart
2977+ } ) ;
2978+ $ ( `tr.folder-id-${ folderTrId } div.folder-preview` ) . append ( $item ) ;
2979+ if ( folder . settings . context === 2 || folder . settings . context === 0 ) {
2980+ const $triggerTarget = $tooltipTrigger && $tooltipTrigger . length ? $tooltipTrigger : $item . find ( '.fv-preview-trigger' ) . first ( ) ;
2981+ if ( $triggerTarget . length ) {
2982+ $triggerTarget . attr ( "id" , "folder-preview-" + ctid ) ;
2983+ $triggerTarget . removeAttr ( "onclick" ) ;
2984+ if ( folder . settings . context === 2 ) {
2985+ return $triggerTarget ;
2986+ }
2987+ }
2988+ }
2989+ return $tooltipTrigger ;
2990+ } ;
29722991 switch ( folder . settings . preview ) {
29732992 case 1 :
29742993 addPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
29752994 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] addPreview (case 1 for ${ folderTrId } ): ctid=${ ctid } , autostart=${ autostart } ` ) ;
2995+ if ( compactMultiRowPreview ) {
2996+ return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry ) ;
2997+ }
29762998 let clone = $ ( `tr.folder-id-${ folderTrId } div.folder-storage > tr > td.ct-name > span.outer:last` ) . clone ( ) ;
29772999 clone . find ( `span.state` ) [ 0 ] . innerHTML = clone . find ( `span.state` ) [ 0 ] . innerHTML . split ( "<br>" ) [ 0 ] ;
29783000 $ ( `tr.folder-id-${ folderTrId } div.folder-preview` ) . append ( clone . addClass ( `${ autostart ? 'autostart' : '' } ` ) ) ;
@@ -2988,6 +3010,9 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
29883010 case 2 :
29893011 addPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
29903012 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] addPreview (case 2 for ${ folderTrId } ): ctid=${ ctid } , autostart=${ autostart } ` ) ;
3013+ if ( compactMultiRowPreview ) {
3014+ return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry ) ;
3015+ }
29913016 $ ( `tr.folder-id-${ folderTrId } div.folder-preview` ) . append ( $ ( `tr.folder-id-${ folderTrId } div.folder-storage > tr > td.ct-name > span.outer > span.hand:last` ) . clone ( ) . addClass ( `${ autostart ? 'autostart' : '' } ` ) ) ;
29923017 if ( folder . settings . context === 2 || folder . settings . context === 0 ) {
29933018 let tmpId = $ ( `tr.folder-id-${ folderTrId } div.folder-preview > span.hand:last` ) ;
@@ -2999,6 +3024,9 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
29993024 case 3 :
30003025 addPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
30013026 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] addPreview (case 3 for ${ folderTrId } ): ctid=${ ctid } , autostart=${ autostart } ` ) ;
3027+ if ( compactMultiRowPreview ) {
3028+ return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry ) ;
3029+ }
30023030 let clone = $ ( `tr.folder-id-${ folderTrId } div.folder-storage > tr > td.ct-name > span.outer > span.inner:last` ) . clone ( ) ;
30033031 clone . find ( `span.state` ) [ 0 ] . innerHTML = clone . find ( `span.state` ) [ 0 ] . innerHTML . split ( "<br>" ) [ 0 ] ;
30043032 $ ( `tr.folder-id-${ folderTrId } div.folder-preview` ) . append ( clone . addClass ( `${ autostart ? 'autostart' : '' } ` ) ) ;
@@ -3014,6 +3042,9 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
30143042 case 4 :
30153043 addPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
30163044 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] addPreview (case 4 for ${ folderTrId } ): ctid=${ ctid } , autostart=${ autostart } ` ) ;
3045+ if ( compactMultiRowPreview ) {
3046+ return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry ) ;
3047+ }
30173048 let lstSpan = $ ( `tr.folder-id-${ folderTrId } div.folder-preview > span.outer:last` ) ;
30183049 if ( ! lstSpan [ 0 ] || lstSpan . children ( ) . length >= 2 ) {
30193050 $ ( `tr.folder-id-${ folderTrId } div.folder-preview` ) . append ( $ ( '<span class="outer"></span>' ) ) ;
@@ -3896,7 +3927,11 @@ const renderNestedAggregatePreview = (id, folder, runtimeContainers) => {
38963927 autostart : entry ?. autostart === true
38973928 } ) ;
38983929 item . addClass ( 'fv-nested-preview-item' ) ;
3930+ const compactMultiRowPreview = isCompactMultiRowPreview ( folder ?. settings || { } ) ;
38993931 const $inner = item . children ( 'span.inner' ) . last ( ) ;
3932+ const $actionsTarget = compactMultiRowPreview
3933+ ? item . find ( '.fv-preview-actions-compact' ) . first ( )
3934+ : $inner ;
39003935 const containerName = String ( entry ?. name || '' ) ;
39013936 const shellValue = String ( entry ?. shell || '/bin/sh' ) ;
39023937 const webuiUrl = String ( entry ?. webui || '' ) . trim ( ) ;
@@ -3907,7 +3942,7 @@ const renderNestedAggregatePreview = (id, folder, runtimeContainers) => {
39073942 . attr ( 'target' , '_blank' )
39083943 . attr ( 'rel' , 'noopener noreferrer' )
39093944 . append ( '<i class="fa fa-globe" aria-hidden="true"></i>' ) ;
3910- $inner . append ( $ ( '<span class="folder-element-custom-btn folder-element-webui"></span>' ) . append ( $webuiLink ) ) ;
3945+ $actionsTarget . append ( $ ( '<span class="folder-element-custom-btn folder-element-webui"></span>' ) . append ( $webuiLink ) ) ;
39113946 }
39123947
39133948 if ( allowConsoleQuickAction ) {
@@ -3917,7 +3952,7 @@ const renderNestedAggregatePreview = (id, folder, runtimeContainers) => {
39173952 event . preventDefault ( ) ;
39183953 openTerminal ( 'docker' , containerName , shellValue ) ;
39193954 } ) ;
3920- $inner . append ( $ ( '<span class="folder-element-custom-btn folder-element-console"></span>' ) . append ( $consoleLink ) ) ;
3955+ $actionsTarget . append ( $ ( '<span class="folder-element-custom-btn folder-element-console"></span>' ) . append ( $consoleLink ) ) ;
39213956 }
39223957
39233958 if ( allowLogsQuickAction ) {
@@ -3927,7 +3962,7 @@ const renderNestedAggregatePreview = (id, folder, runtimeContainers) => {
39273962 event . preventDefault ( ) ;
39283963 openTerminal ( 'docker' , containerName , '.log' ) ;
39293964 } ) ;
3930- $inner . append ( $ ( '<span class="folder-element-custom-btn folder-element-logs"></span>' ) . append ( $logsLink ) ) ;
3965+ $actionsTarget . append ( $ ( '<span class="folder-element-custom-btn folder-element-logs"></span>' ) . append ( $logsLink ) ) ;
39313966 }
39323967 decorateDockerPreviewMemberTriggers (
39333968 item . find ( 'span.hand, span.inner > span.appname, span.inner > span.appname > a, span.inner > i.fa, span.inner > span.state' ) ,
0 commit comments