mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
history panel: move history options menu code into index.mako, localization pass; pack scripts
This commit is contained in:
@@ -436,7 +436,7 @@ var HDABaseView = Backbone.View.extend( LoggableMixin ).extend(
|
||||
* @param {jQuery} parent DOM to which to append this body
|
||||
*/
|
||||
_render_body_new : function( parent ){
|
||||
var newMsg = 'This is a new dataset and not all of its data are available yet';
|
||||
var newMsg = _l( 'This is a new dataset and not all of its data are available yet' );
|
||||
parent.append( $( '<div>' + _l( newMsg ) + '</div>' ) );
|
||||
},
|
||||
|
||||
@@ -512,7 +512,7 @@ var HDABaseView = Backbone.View.extend( LoggableMixin ).extend(
|
||||
* @param {jQuery} parent DOM to which to append this body
|
||||
*/
|
||||
_render_body_empty : function( parent ){
|
||||
//TODO: replace i with dataset-misc-info class
|
||||
//TODO: replace i with dataset-misc-info class
|
||||
//?? why are we showing the file size when we know it's zero??
|
||||
parent.append( $( '<div>' + _l( 'No data' ) + ': <i>' + this.model.get( 'misc_blurb' ) + '</i></div>' ) );
|
||||
parent.append( this._render_primaryActionButtons( this.defaultPrimaryActionButtonRenderers ));
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-hda-hdaSummary"]=b(function(g,m,f,l,k){this.compilerInfo=[2,">= 1.0.0-rc.3"];f=f||g.helpers;k=k||{};var i="",d,h="function",j=this.escapeExpression,o=this;function e(t,s){var p="",r,q;p+='\n <a class="metadata-dbkey" href="'+j(((r=((r=t.urls),r==null||r===false?r:r.edit)),typeof r===h?r.apply(t):r))+'" target="galaxy_main">';if(q=f.metadata_dbkey){q=q.call(t,{hash:{},data:s})}else{q=t.metadata_dbkey;q=typeof q===h?q.apply(t):q}p+=j(q)+"</a>\n ";return p}function c(s,r){var p="",q;p+='\n <span class="metadata-dbkey ';if(q=f.metadata_dbkey){q=q.call(s,{hash:{},data:r})}else{q=s.metadata_dbkey;q=typeof q===h?q.apply(s):q}p+=j(q)+'">';if(q=f.metadata_dbkey){q=q.call(s,{hash:{},data:r})}else{q=s.metadata_dbkey;q=typeof q===h?q.apply(s):q}p+=j(q)+"</span>\n ";return p}function n(s,r){var p="",q;p+='\n<div class="hda-info"> ';if(q=f.misc_info){q=q.call(s,{hash:{},data:r})}else{q=s.misc_info;q=typeof q===h?q.apply(s):q}p+=j(q)+" </div>\n";return p}i+='<div class="hda-summary">\n ';if(d=f.misc_blurb){d=d.call(m,{hash:{},data:k})}else{d=m.misc_blurb;d=typeof d===h?d.apply(m):d}i+=j(d)+'<br />\n format: <span class="';if(d=f.data_type){d=d.call(m,{hash:{},data:k})}else{d=m.data_type;d=typeof d===h?d.apply(m):d}i+=j(d)+'">';if(d=f.data_type){d=d.call(m,{hash:{},data:k})}else{d=m.data_type;d=typeof d===h?d.apply(m):d}i+=j(d)+"</span>,\n database:\n ";d=f["if"].call(m,m.dbkey_unknown_and_editable,{hash:{},inverse:o.program(3,c,k),fn:o.program(1,e,k),data:k});if(d||d===0){i+=d}i+="\n</div>\n";d=f["if"].call(m,m.misc_info,{hash:{},inverse:o.noop,fn:o.program(5,n,k),data:k});if(d||d===0){i+=d}return i})})();
|
||||
(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-hda-hdaSummary"]=b(function(g,m,f,l,k){this.compilerInfo=[2,">= 1.0.0-rc.3"];f=f||g.helpers;k=k||{};var i="",d,s,h="function",j=this.escapeExpression,r=this,n=f.blockHelperMissing;function e(u,t){return"format: "}function c(u,t){return"database: "}function q(x,w){var t="",v,u;t+='\n <a class="metadata-dbkey" href="'+j(((v=((v=x.urls),v==null||v===false?v:v.edit)),typeof v===h?v.apply(x):v))+'" target="galaxy_main">';if(u=f.metadata_dbkey){u=u.call(x,{hash:{},data:w})}else{u=x.metadata_dbkey;u=typeof u===h?u.apply(x):u}t+=j(u)+"</a>\n ";return t}function p(w,v){var t="",u;t+='\n <span class="metadata-dbkey ';if(u=f.metadata_dbkey){u=u.call(w,{hash:{},data:v})}else{u=w.metadata_dbkey;u=typeof u===h?u.apply(w):u}t+=j(u)+'">';if(u=f.metadata_dbkey){u=u.call(w,{hash:{},data:v})}else{u=w.metadata_dbkey;u=typeof u===h?u.apply(w):u}t+=j(u)+"</span>\n ";return t}function o(w,v){var t="",u;t+='\n<div class="hda-info"> ';if(u=f.misc_info){u=u.call(w,{hash:{},data:v})}else{u=w.misc_info;u=typeof u===h?u.apply(w):u}t+=j(u)+" </div>\n";return t}i+='<div class="hda-summary">\n ';if(d=f.misc_blurb){d=d.call(m,{hash:{},data:k})}else{d=m.misc_blurb;d=typeof d===h?d.apply(m):d}i+=j(d)+"<br />\n ";s={hash:{},inverse:r.noop,fn:r.program(1,e,k),data:k};if(d=f.local){d=d.call(m,s)}else{d=m.local;d=typeof d===h?d.apply(m):d}if(!f.local){d=n.call(m,d,s)}if(d||d===0){i+=d}i+='<span class="';if(d=f.data_type){d=d.call(m,{hash:{},data:k})}else{d=m.data_type;d=typeof d===h?d.apply(m):d}i+=j(d)+'">';if(d=f.data_type){d=d.call(m,{hash:{},data:k})}else{d=m.data_type;d=typeof d===h?d.apply(m):d}i+=j(d)+"</span>,\n ";s={hash:{},inverse:r.noop,fn:r.program(3,c,k),data:k};if(d=f.local){d=d.call(m,s)}else{d=m.local;d=typeof d===h?d.apply(m):d}if(!f.local){d=n.call(m,d,s)}if(d||d===0){i+=d}i+="\n ";d=f["if"].call(m,m.dbkey_unknown_and_editable,{hash:{},inverse:r.program(7,p,k),fn:r.program(5,q,k),data:k});if(d||d===0){i+=d}i+="\n</div>\n";d=f["if"].call(m,m.misc_info,{hash:{},inverse:r.noop,fn:r.program(9,o,k),data:k});if(d||d===0){i+=d}return i})})();
|
||||
File diff suppressed because one or more lines are too long
@@ -3,10 +3,22 @@
|
||||
templates['template-hda-hdaSummary'] = template(function (Handlebars,depth0,helpers,partials,data) {
|
||||
this.compilerInfo = [2,'>= 1.0.0-rc.3'];
|
||||
helpers = helpers || Handlebars.helpers; data = data || {};
|
||||
var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this;
|
||||
var buffer = "", stack1, options, functionType="function", escapeExpression=this.escapeExpression, self=this, blockHelperMissing=helpers.blockHelperMissing;
|
||||
|
||||
function program1(depth0,data) {
|
||||
|
||||
|
||||
return "format: ";
|
||||
}
|
||||
|
||||
function program3(depth0,data) {
|
||||
|
||||
|
||||
return "database: ";
|
||||
}
|
||||
|
||||
function program5(depth0,data) {
|
||||
|
||||
var buffer = "", stack1, stack2;
|
||||
buffer += "\n <a class=\"metadata-dbkey\" href=\""
|
||||
+ escapeExpression(((stack1 = ((stack1 = depth0.urls),stack1 == null || stack1 === false ? stack1 : stack1.edit)),typeof stack1 === functionType ? stack1.apply(depth0) : stack1))
|
||||
@@ -18,7 +30,7 @@ function program1(depth0,data) {
|
||||
return buffer;
|
||||
}
|
||||
|
||||
function program3(depth0,data) {
|
||||
function program7(depth0,data) {
|
||||
|
||||
var buffer = "", stack1;
|
||||
buffer += "\n <span class=\"metadata-dbkey ";
|
||||
@@ -33,7 +45,7 @@ function program3(depth0,data) {
|
||||
return buffer;
|
||||
}
|
||||
|
||||
function program5(depth0,data) {
|
||||
function program9(depth0,data) {
|
||||
|
||||
var buffer = "", stack1;
|
||||
buffer += "\n<div class=\"hda-info\"> ";
|
||||
@@ -48,7 +60,13 @@ function program5(depth0,data) {
|
||||
if (stack1 = helpers.misc_blurb) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
||||
else { stack1 = depth0.misc_blurb; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
||||
buffer += escapeExpression(stack1)
|
||||
+ "<br />\n format: <span class=\"";
|
||||
+ "<br />\n ";
|
||||
options = {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data};
|
||||
if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
|
||||
else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
||||
if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
|
||||
if(stack1 || stack1 === 0) { buffer += stack1; }
|
||||
buffer += "<span class=\"";
|
||||
if (stack1 = helpers.data_type) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
||||
else { stack1 = depth0.data_type; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
||||
buffer += escapeExpression(stack1)
|
||||
@@ -56,11 +74,17 @@ function program5(depth0,data) {
|
||||
if (stack1 = helpers.data_type) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
|
||||
else { stack1 = depth0.data_type; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
||||
buffer += escapeExpression(stack1)
|
||||
+ "</span>,\n database:\n ";
|
||||
stack1 = helpers['if'].call(depth0, depth0.dbkey_unknown_and_editable, {hash:{},inverse:self.program(3, program3, data),fn:self.program(1, program1, data),data:data});
|
||||
+ "</span>,\n ";
|
||||
options = {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data};
|
||||
if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
|
||||
else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
|
||||
if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
|
||||
if(stack1 || stack1 === 0) { buffer += stack1; }
|
||||
buffer += "\n ";
|
||||
stack1 = helpers['if'].call(depth0, depth0.dbkey_unknown_and_editable, {hash:{},inverse:self.program(7, program7, data),fn:self.program(5, program5, data),data:data});
|
||||
if(stack1 || stack1 === 0) { buffer += stack1; }
|
||||
buffer += "\n</div>\n";
|
||||
stack1 = helpers['if'].call(depth0, depth0.misc_info, {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});
|
||||
stack1 = helpers['if'].call(depth0, depth0.misc_info, {hash:{},inverse:self.noop,fn:self.program(9, program9, data),data:data});
|
||||
if(stack1 || stack1 === 0) { buffer += stack1; }
|
||||
return buffer;
|
||||
});
|
||||
|
||||
@@ -199,12 +199,18 @@ function program28(depth0,data) {
|
||||
function program30(depth0,data) {
|
||||
|
||||
|
||||
return "You are over your disk quota.\n Tool execution is on hold until your disk usage drops below your allocated quota.";
|
||||
return "You are over your disk quota";
|
||||
}
|
||||
|
||||
function program32(depth0,data) {
|
||||
|
||||
|
||||
return "Tool execution is on hold until your disk usage drops below your allocated quota";
|
||||
}
|
||||
|
||||
function program34(depth0,data) {
|
||||
|
||||
|
||||
return "Your history is empty. Click 'Get Data' on the left pane to start";
|
||||
}
|
||||
|
||||
@@ -237,12 +243,18 @@ function program32(depth0,data) {
|
||||
else { stack2 = depth0.local; stack2 = typeof stack2 === functionType ? stack2.apply(depth0) : stack2; }
|
||||
if (!helpers.local) { stack2 = blockHelperMissing.call(depth0, stack2, options); }
|
||||
if(stack2 || stack2 === 0) { buffer += stack2; }
|
||||
buffer += "\n </div>\n </div>\n</div>\n\n<div id=\"";
|
||||
buffer += ".\n ";
|
||||
options = {hash:{},inverse:self.noop,fn:self.program(32, program32, data),data:data};
|
||||
if (stack2 = helpers.local) { stack2 = stack2.call(depth0, options); }
|
||||
else { stack2 = depth0.local; stack2 = typeof stack2 === functionType ? stack2.apply(depth0) : stack2; }
|
||||
if (!helpers.local) { stack2 = blockHelperMissing.call(depth0, stack2, options); }
|
||||
if(stack2 || stack2 === 0) { buffer += stack2; }
|
||||
buffer += ".\n </div>\n </div>\n</div>\n\n<div id=\"";
|
||||
if (stack2 = helpers.id) { stack2 = stack2.call(depth0, {hash:{},data:data}); }
|
||||
else { stack2 = depth0.id; stack2 = typeof stack2 === functionType ? stack2.apply(depth0) : stack2; }
|
||||
buffer += escapeExpression(stack2)
|
||||
+ "-datasets\" class=\"history-datasets-list\"></div>\n\n<div class=\"infomessagesmall\" id=\"emptyHistoryMessage\" style=\"display: none;\">\n ";
|
||||
options = {hash:{},inverse:self.noop,fn:self.program(32, program32, data),data:data};
|
||||
options = {hash:{},inverse:self.noop,fn:self.program(34, program34, data),data:data};
|
||||
if (stack2 = helpers.local) { stack2 = stack2.call(depth0, options); }
|
||||
else { stack2 = depth0.local; stack2 = typeof stack2 === functionType ? stack2.apply(depth0) : stack2; }
|
||||
if (!helpers.local) { stack2 = blockHelperMissing.call(depth0, stack2, options); }
|
||||
|
||||
@@ -46,8 +46,8 @@
|
||||
<script type="text/template" class="template-hda" id="template-hda-hdaSummary">
|
||||
<div class="hda-summary">
|
||||
{{ misc_blurb }}<br />
|
||||
format: <span class="{{ data_type }}">{{ data_type }}</span>,
|
||||
database:
|
||||
{{#local}}format: {{/local}}<span class="{{ data_type }}">{{ data_type }}</span>,
|
||||
{{#local}}database: {{/local}}
|
||||
{{#if dbkey_unknown_and_editable }}
|
||||
<a class="metadata-dbkey" href="{{ urls.edit }}" target="galaxy_main">{{ metadata_dbkey }}</a>
|
||||
{{else}}
|
||||
|
||||
@@ -63,15 +63,15 @@ History panel/page - the main container for hdas (gen. on the left hand of the g
|
||||
{{/if}}
|
||||
|
||||
<div id="message-container">
|
||||
{{#if message}}
|
||||
{{#if message}}{{! should already be localized }}
|
||||
<div class="{{status}}message">{{message}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div id="quota-message-container" style="display: none">
|
||||
<div id="quota-message" class="errormessage">
|
||||
{{#local}}You are over your disk quota.
|
||||
Tool execution is on hold until your disk usage drops below your allocated quota.{{/local}}
|
||||
{{#local}}You are over your disk quota{{/local}}.
|
||||
{{#local}}Tool execution is on hold until your disk usage drops below your allocated quota{{/local}}.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -65,10 +65,8 @@ ${ h.to_json_string( dict([ ( string, _(string) ) for string in strings_to_local
|
||||
'Delete',
|
||||
'Job is waiting to run',
|
||||
'View Details',
|
||||
'Run this job again',
|
||||
'Job is currently running',
|
||||
'View Details',
|
||||
'Run this job again',
|
||||
#'Run this job again',
|
||||
'Metadata is being Auto-Detected.',
|
||||
'No data: ',
|
||||
'format: ',
|
||||
@@ -207,9 +205,6 @@ ${h.templates(
|
||||
"template-hda-tagArea",
|
||||
"template-hda-annotationArea",
|
||||
"template-hda-displayApps",
|
||||
|
||||
"template-user-quotaMeter-quota",
|
||||
"template-user-quotaMeter-usage"
|
||||
)}
|
||||
|
||||
##TODO: fix: curr hasta be _after_ h.templates bc these use those templates - move somehow
|
||||
@@ -323,86 +318,16 @@ $(function(){
|
||||
// set it up to be accessible across iframes
|
||||
top.Galaxy.currHistoryPanel = historyPanel;
|
||||
|
||||
|
||||
//ANOTHER cross-frame element is the history-options-button...
|
||||
// in this case, we need to change the popupmenu options listed to include some functions for this history
|
||||
// these include: current (1 & 2) 'show/hide' delete and hidden functions, and (3) the collapse all option
|
||||
//TODO: the options-menu stuff need to be moved out when iframes are removed
|
||||
(function(){
|
||||
// don't try this if the history panel is in it's own window
|
||||
if( top.document === window.document ){
|
||||
return;
|
||||
}
|
||||
|
||||
// lots of wtf here...due to infernalframes
|
||||
//TODO: this is way tooo acrobatic
|
||||
var $historyButtonWindow = $( top.document ),
|
||||
HISTORY_MENU_BUTTON_ID = 'history-options-button',
|
||||
$historyMenuButton = $historyButtonWindow.find( '#' + HISTORY_MENU_BUTTON_ID ),
|
||||
// jq data in another frame can only be accessed by the jQuery in that frame,
|
||||
// get the jQuery from the top frame (that contains the history-options-button)
|
||||
START_INSERTING_AT_INDEX = 11,
|
||||
COLLAPSE_OPTION_TEXT = _l("Collapse Expanded Datasets"),
|
||||
DELETED_OPTION_TEXT = _l("Include Deleted Datasets"),
|
||||
HIDDEN_OPTION_TEXT = _l("Include Hidden Datasets");
|
||||
windowJQ = $( top )[0].jQuery,
|
||||
popupMenu = ( windowJQ && $historyMenuButton[0] )?( windowJQ.data( $historyMenuButton[0], 'PopupMenu' ) )
|
||||
:( null );
|
||||
//console.debug(
|
||||
// '$historyButtonWindow:', $historyButtonWindow,
|
||||
// '$historyMenuButton:', $historyMenuButton,
|
||||
// 'windowJQ:', windowJQ,
|
||||
// 'popupmenu:', popupMenu
|
||||
//);
|
||||
if( !popupMenu ){ return; }
|
||||
|
||||
// since the history frame reloads so often (compared to the main window),
|
||||
// we need to check whether these options are there already before we add them again
|
||||
// In IE, however, NOT re-adding them creates a 'cant execute from freed script' error:
|
||||
// so...we need to re-add the function in either case (just not the option itself)
|
||||
//NOTE: we use the global Galaxy.currHistoryPanel here
|
||||
// because these remain bound in the main window even if panel refreshes
|
||||
//TODO: too much boilerplate
|
||||
//TODO: ugh...(in general)
|
||||
var collapseOption = popupMenu.findItemByHtml( COLLAPSE_OPTION_TEXT );
|
||||
if( !collapseOption ){
|
||||
collapseOption = {
|
||||
html : COLLAPSE_OPTION_TEXT
|
||||
};
|
||||
popupMenu.addItem( collapseOption, START_INSERTING_AT_INDEX )
|
||||
}
|
||||
collapseOption.func = function() {
|
||||
Galaxy.currHistoryPanel.collapseAllHdaBodies();
|
||||
};
|
||||
|
||||
var deletedOption = popupMenu.findItemByHtml( DELETED_OPTION_TEXT );
|
||||
if( !deletedOption ){
|
||||
deletedOption = {
|
||||
html : DELETED_OPTION_TEXT
|
||||
};
|
||||
popupMenu.addItem( deletedOption, START_INSERTING_AT_INDEX + 1 )
|
||||
}
|
||||
deletedOption.func = function( clickEvent, thisMenuOption ){
|
||||
var show_deleted = Galaxy.currHistoryPanel.toggleShowDeleted();
|
||||
thisMenuOption.checked = show_deleted;
|
||||
};
|
||||
// whether was there or added, update the checked option to reflect the panel's settings on the panel render
|
||||
deletedOption.checked = Galaxy.currHistoryPanel.storage.get( 'show_deleted' );
|
||||
|
||||
var hiddenOption = popupMenu.findItemByHtml( HIDDEN_OPTION_TEXT );
|
||||
if( !hiddenOption ){
|
||||
hiddenOption = {
|
||||
html : HIDDEN_OPTION_TEXT
|
||||
};
|
||||
popupMenu.addItem( hiddenOption, START_INSERTING_AT_INDEX + 2 )
|
||||
}
|
||||
hiddenOption.func = function( clickEvent, thisMenuOption ){
|
||||
var show_hidden = Galaxy.currHistoryPanel.toggleShowHidden();
|
||||
thisMenuOption.checked = show_hidden;
|
||||
};
|
||||
// whether was there or added, update the checked option to reflect the panel's settings on the panel render
|
||||
hiddenOption.checked = Galaxy.currHistoryPanel.storage.get( 'show_hidden' );
|
||||
})();
|
||||
//TODO: move to pub-sub
|
||||
//TODO: same strings ("Include...") here as in index.mako - brittle
|
||||
if( ( top.document !== window.document ) && ( Galaxy.historyOptionsMenu ) ){
|
||||
Galaxy.historyOptionsMenu.findItemByHtml( "${"Include Deleted Datasets"}" ).checked =
|
||||
Galaxy.currHistoryPanel.storage.get( 'show_deleted' );
|
||||
Galaxy.historyOptionsMenu.findItemByHtml( "${"Include Hidden Datasets"}" ).checked =
|
||||
Galaxy.currHistoryPanel.storage.get( 'show_hidden' );
|
||||
}
|
||||
|
||||
return;
|
||||
});
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
// set up history options menu
|
||||
$(function(){
|
||||
// Init history options.
|
||||
$("#history-options-button").css( "position", "relative" );
|
||||
//$("#history-options-button").css( "position", "relative" );
|
||||
var popupmenu = PopupMenu.make_popupmenu( $("#history-options-button"), {
|
||||
"${_("History Lists")}": null,
|
||||
"${_("Saved Histories")}": function() {
|
||||
@@ -43,6 +43,21 @@
|
||||
"${_("Resume Paused Jobs")}": function() {
|
||||
galaxy_history.location = "${h.url_for( controller='history', action='resume_paused_jobs', current=True)}";
|
||||
},
|
||||
"${_("Collapse Expanded Datasets")}": function() {
|
||||
if( Galaxy && Galaxy.currHistoryPanel ){
|
||||
Galaxy.currHistoryPanel.collapseAllHdaBodies();
|
||||
}
|
||||
},
|
||||
"${_("Include Deleted Datasets")}": function( clickEvent, thisMenuOption ) {
|
||||
if( Galaxy && Galaxy.currHistoryPanel ){
|
||||
thisMenuOption.checked = Galaxy.currHistoryPanel.toggleShowDeleted();
|
||||
}
|
||||
},
|
||||
"${_("Include Hidden Datasets")}": function( clickEvent, thisMenuOption ) {
|
||||
if( Galaxy && Galaxy.currHistoryPanel ){
|
||||
thisMenuOption.checked = Galaxy.currHistoryPanel.toggleShowHidden();
|
||||
}
|
||||
},
|
||||
"${_("Unhide Hidden Datasets")}": function() {
|
||||
if ( confirm( "Really unhide all hidden datasets?" ) ) {
|
||||
galaxy_main.location = "${h.url_for( controller='history', action='unhide_datasets', current=True )}";
|
||||
@@ -79,6 +94,8 @@
|
||||
galaxy_main.location = "${h.url_for( controller='history', action='import_archive' )}";
|
||||
}
|
||||
});
|
||||
// since we need to communicate state of hpanel with the options menu, cache the popupmenu here
|
||||
Galaxy.historyOptionsMenu = popupmenu;
|
||||
|
||||
// Fix iFrame scrolling on iOS
|
||||
if( navigator.userAgent.match( /(iPhone|iPod|iPad)/i ) ) {
|
||||
|
||||
Reference in New Issue
Block a user