@@ -969,6 +969,47 @@ const decorateDockerPreviewMemberTriggers = ($elements, folderId, containerName)
969969 . removeAttr ( 'data-container-name' )
970970 . removeAttr ( 'title' ) ;
971971} ;
972+ const bindCompactPreviewDefaultContext = ( $item , $sourceRow ) => {
973+ if ( ! $item || ! $item . length || ! $sourceRow || ! $sourceRow . length ) {
974+ return ;
975+ }
976+ const $sourceTrigger = $sourceRow . find ( 'td.ct-name > span.outer > span.hand' ) . first ( ) ;
977+ const $fallbackTrigger = $sourceRow . find ( 'td.ct-name > span.outer > span.inner > span.appname > a.exec' ) . first ( ) ;
978+ const $nativeTrigger = $sourceTrigger . length ? $sourceTrigger : $fallbackTrigger ;
979+ if ( ! $nativeTrigger . length ) {
980+ return ;
981+ }
982+ $item
983+ . attr ( 'data-fv-default-context-proxy' , '1' )
984+ . off ( 'click.fvDockerCompactDefaultContext' )
985+ . on ( 'click.fvDockerCompactDefaultContext' , ( event ) => {
986+ if ( $ ( event . target ) . closest ( '.folder-element-custom-btn' ) . length ) {
987+ return ;
988+ }
989+ event . preventDefault ( ) ;
990+ event . stopPropagation ( ) ;
991+ const nativeTrigger = $nativeTrigger . get ( 0 ) ;
992+ if ( ! nativeTrigger ) {
993+ return ;
994+ }
995+ const clickEvent = $ . Event ( 'click' ) ;
996+ try {
997+ $ ( nativeTrigger ) . trigger ( clickEvent ) ;
998+ } catch ( _error ) {
999+ // Fall back to the native click path below.
1000+ }
1001+ if ( clickEvent . isDefaultPrevented ( ) ) {
1002+ return ;
1003+ }
1004+ try {
1005+ if ( typeof nativeTrigger . click === 'function' ) {
1006+ nativeTrigger . click ( ) ;
1007+ }
1008+ } catch ( _error ) {
1009+ // Ignore native click fallbacks when the host row rejects programmatic clicks.
1010+ }
1011+ } ) ;
1012+ } ;
9721013const decorateDockerFolderMemberRow = ( $row , folderId , containerName ) => {
9731014 if ( ! $row || ! $row . length ) {
9741015 return ;
@@ -3198,13 +3239,17 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
31983239 let addPreview ;
31993240 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 } ` ) ;
32003241 const compactMultiRowPreview = isCompactMultiRowPreview ( folder . settings ) ;
3201- const appendCompactPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
3242+ const appendCompactPreview = ( folderTrId , ctid , autostart , previewEntry , $sourceRow = null ) => {
32023243 const { $item, $tooltipTrigger } = buildDockerPreviewItem ( {
32033244 entry : previewEntry || { } ,
32043245 settings : folder . settings ,
32053246 autostart
32063247 } ) ;
32073248 $ ( `tr.folder-id-${ folderTrId } div.folder-preview` ) . append ( $item ) ;
3249+ if ( folder . settings . context === 1 ) {
3250+ bindCompactPreviewDefaultContext ( $item , $sourceRow ) ;
3251+ return null ;
3252+ }
32083253 if ( folder . settings . context === 2 || folder . settings . context === 0 ) {
32093254 const $triggerTarget = $tooltipTrigger && $tooltipTrigger . length ? $tooltipTrigger : $item . find ( '.fv-preview-trigger' ) . first ( ) ;
32103255 if ( $triggerTarget . length ) {
@@ -3219,10 +3264,10 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
32193264 } ;
32203265 switch ( folder . settings . preview ) {
32213266 case 1 :
3222- addPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
3267+ addPreview = ( folderTrId , ctid , autostart , previewEntry , $sourceRow = null ) => {
32233268 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] addPreview (case 1 for ${ folderTrId } ): ctid=${ ctid } , autostart=${ autostart } ` ) ;
32243269 if ( compactMultiRowPreview ) {
3225- return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry ) ;
3270+ return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry , $sourceRow ) ;
32263271 }
32273272 let clone = $ ( `tr.folder-id-${ folderTrId } div.folder-storage > tr > td.ct-name > span.outer:last` ) . clone ( ) ;
32283273 clone . find ( `span.state` ) [ 0 ] . innerHTML = clone . find ( `span.state` ) [ 0 ] . innerHTML . split ( "<br>" ) [ 0 ] ;
@@ -3237,10 +3282,10 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
32373282 }
32383283 } ; break ;
32393284 case 2 :
3240- addPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
3285+ addPreview = ( folderTrId , ctid , autostart , previewEntry , $sourceRow = null ) => {
32413286 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] addPreview (case 2 for ${ folderTrId } ): ctid=${ ctid } , autostart=${ autostart } ` ) ;
32423287 if ( compactMultiRowPreview ) {
3243- return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry ) ;
3288+ return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry , $sourceRow ) ;
32443289 }
32453290 $ ( `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' : '' } ` ) ) ;
32463291 if ( folder . settings . context === 2 || folder . settings . context === 0 ) {
@@ -3251,10 +3296,10 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
32513296 }
32523297 } ; break ;
32533298 case 3 :
3254- addPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
3299+ addPreview = ( folderTrId , ctid , autostart , previewEntry , $sourceRow = null ) => {
32553300 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] addPreview (case 3 for ${ folderTrId } ): ctid=${ ctid } , autostart=${ autostart } ` ) ;
32563301 if ( compactMultiRowPreview ) {
3257- return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry ) ;
3302+ return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry , $sourceRow ) ;
32583303 }
32593304 let clone = $ ( `tr.folder-id-${ folderTrId } div.folder-storage > tr > td.ct-name > span.outer > span.inner:last` ) . clone ( ) ;
32603305 clone . find ( `span.state` ) [ 0 ] . innerHTML = clone . find ( `span.state` ) [ 0 ] . innerHTML . split ( "<br>" ) [ 0 ] ;
@@ -3269,10 +3314,10 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
32693314 }
32703315 } ; break ;
32713316 case 4 :
3272- addPreview = ( folderTrId , ctid , autostart , previewEntry ) => {
3317+ addPreview = ( folderTrId , ctid , autostart , previewEntry , $sourceRow = null ) => {
32733318 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] addPreview (case 4 for ${ folderTrId } ): ctid=${ ctid } , autostart=${ autostart } ` ) ;
32743319 if ( compactMultiRowPreview ) {
3275- return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry ) ;
3320+ return appendCompactPreview ( folderTrId , ctid , autostart , previewEntry , $sourceRow ) ;
32763321 }
32773322 let lstSpan = $ ( `tr.folder-id-${ folderTrId } div.folder-preview > span.outer:last` ) ;
32783323 if ( ! lstSpan [ 0 ] || lstSpan . children ( ) . length >= 2 ) {
@@ -3431,7 +3476,7 @@ const createFolder = (folder, id, positionInMainOrder, liveOrderArray, container
34313476 if ( FOLDER_VIEW_DEBUG_MODE && charts . length > 0 ) console . log ( `[FV3_DEBUG] graphListener (for ct: ${ ct . shortId } ): Updated ${ charts . length } charts.` ) ;
34323477 } ;
34333478
3434- const tooltip_trigger_element = addPreview ( id , ct . shortId , ! ( ct . info . State . Autostart === false ) , newFolder [ container_name_in_folder ] ) ;
3479+ const tooltip_trigger_element = addPreview ( id , ct . shortId , ! ( ct . info . State . Autostart === false ) , newFolder [ container_name_in_folder ] , $containerTR ) ;
34353480 if ( FOLDER_VIEW_DEBUG_MODE ) console . log ( `[FV3_DEBUG] createFolder (id: ${ id } ), container ${ ct . shortId } : Called addPreview. Returned tooltip_trigger_element:` , tooltip_trigger_element ? tooltip_trigger_element [ 0 ] : 'null/undefined' ) ;
34363481
34373482 $ ( `tr.folder-id-${ id } div.folder-preview span.inner > span.appname` ) . css ( "width" , folder . settings . preview_text_width || '' ) ;
0 commit comments