diff --git a/templates/webapps/galaxy/history/grid.mako b/templates/webapps/galaxy/history/grid.mako index 3d76b3d70f3..256d921b3bd 100644 --- a/templates/webapps/galaxy/history/grid.mako +++ b/templates/webapps/galaxy/history/grid.mako @@ -15,11 +15,25 @@ return ( $link.attr( 'href' ).match( /id=(\w+)/ ) || [] )[1]; } - // wait for page ready and set it all up + // wait for page ready and set it all up, do it again when the grid refreshes $(function(){ - var $buttons = $( '.popup.menubutton' ).each( function( i ){ - copyDialogHack.call( this, i, findHistoryId ); - }); + if( !gridView ){ + console.warn( 'no grid' ); + return; + } + + function replaceCopyFunction(){ + gridView.$( '.popup.menubutton' ).each( function( i ){ + copyDialogHack.call( this, i, findHistoryId ); + }); + } + replaceCopyFunction(); + + var originalInitGrid = gridView.init_grid; + gridView.init_grid = function __patched_init_grid( json ){ + originalInitGrid.call( gridView, json ); + replaceCopyFunction(); + }; }); });