Fixing PR review comments

This commit is contained in:
anuprulez
2017-06-09 14:35:57 +02:00
parent 3573f4d59f
commit 785e3e557a
13 changed files with 60 additions and 78 deletions
+23 -4
View File
@@ -11,7 +11,9 @@ var jQuery = require( 'jquery' ),
Tours = require( 'mvc/tours' ),
GridView = require( 'mvc/grid/grid-view' )
Workflows = require( 'mvc/workflow/workflow' ),
WorkflowsConfigureMenu = require( 'mvc/workflow/workflow-configure-menu' );
WorkflowsConfigureMenu = require( 'mvc/workflow/workflow-configure-menu' ),
ToolFormComposite = require( 'mvc/tool/tool-form-composite' ),
Utils = require( 'utils/utils' );
/** define the 'Analyze Data'/analysis/main/home page for Galaxy
* * has a masthead
@@ -128,11 +130,11 @@ window.app = function app( options, bootstrapped ){
},
show_run : function() {
this.page.display( new Workflows.Run_Workflow_View() );
this._loadWorkflow();
},
show_import_workflow : function() {
this.page.display( new Workflows.Import_Workflow_View() );
this.page.display( new Workflows.ImportWorkflowView() );
},
show_configure_menu : function(){
@@ -163,7 +165,7 @@ window.app = function app( options, bootstrapped ){
} else {
// show the workflow run form
if( params.workflow_id ){
this.page.display( new Workflows.Run_Workflow_View() )
this._loadWorkflow();
// load the center iframe with controller.action: galaxy.org/?m_c=history&m_a=list -> history/list
} else if( params.m_c ){
this._loadCenterIframe( params.m_c + '/' + params.m_a );
@@ -188,6 +190,23 @@ window.app = function app( options, bootstrapped ){
this.page.$( '#galaxy_main' ).prop( 'src', url );
},
/** load workflow by its url in run mode */
_loadWorkflow: function() {
var self = this;
self.page.$( '#galaxy-main' ).hide();
self.page.$( "#center-panel" ).show();
Utils.get({
url : Galaxy.root + 'workflow/run_workflow?id=' + Utils.getQueryString( 'id' ),
success : function( response ) {
var form = new ToolFormComposite.View( response );
self.page.$( "#center-panel" ).empty().append( form.$el )
},
error : function( response ) {
var $el_error = "<div class='response-message errormessage'><p>Error occurred while loading the resource.</p></div>";
self.page.$( "#center-panel" ).empty().append( $el_error );
}
});
}
});
// render and start the router
@@ -61,24 +61,8 @@ var ToolPanel = Backbone.View.extend({
_.each( this.stored_workflow_menu_entries, function( menu_entry ){
self.$( '#internal-workflows' ).append( self._templateWorkflowLink({
title : menu_entry.stored_workflow.name,
href : 'workflow/run?id=' + menu_entry.encoded_stored_workflow_id,
cls : 'workflow-menu-' + menu_entry.encoded_stored_workflow_id
href : 'workflow/run?id=' + menu_entry.encoded_stored_workflow_id
}));
self._registerWorkflowMenuClick( self, menu_entry.encoded_stored_workflow_id );
});
},
/** Open the items in workflow menu in the center panel */
_registerWorkflowMenuClick: function( self, workflow_id ) {
$( '.workflow-menu-' + workflow_id ).click(function( e ) {
var url = Galaxy.root + 'workflow/run_workflow?id=' + workflow_id;
$.getJSON(url, function( response ) {
var wf_parsed = JSON.parse( JSON.stringify( response ) );
var form = new ToolForm.View( wf_parsed[0] );
$( '#galaxy_main' ).hide();
$( "#center-panel" ).show();
$( "#center-panel" ).empty().append( form.$el );
});
});
},
+5 -32
View File
@@ -1,16 +1,11 @@
/** Workflow view */
define( [ 'mvc/tool/tool-form-composite' ], function( ToolForm ) {
/** Get querystrings from url */
function get_querystring( key ) {
return decodeURIComponent( window.location.search.replace(new RegExp("^(?:.*[&\\?]" + encodeURIComponent( key ).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1") );
}
define( [ 'utils/utils' ], function( Utils ) {
/** Build messages after user action */
function build_messages( self ) {
var $el_message = self.$el.find( '.response-message' ),
status = get_querystring( 'status' ),
message = get_querystring( 'message' );
status = Utils.getQueryString( 'status' ),
message = Utils.getQueryString( 'message' );
if( message && message !== null && message !== "" ) {
$el_message.addClass( status + 'message' );
@@ -186,28 +181,7 @@ define( [ 'mvc/tool/tool-form-composite' ], function( ToolForm ) {
}
});
var Run_Workflow_View = Backbone.View.extend({
initialize: function( options ) {
this.setElement( '<div/>' );
this.run_workflow( options );
},
/** Open workflow to run */
run_workflow: function() {
var self = this,
id = get_querystring( 'id' ),
url = Galaxy.root + 'workflow/run_workflow?id=' + id;
$.getJSON(url, function( response ) {
var wf_parsed = JSON.parse( JSON.stringify( response ) );
var form = new ToolForm.View( wf_parsed[0] );
build_messages( self );
self.$el.empty().append( form.$el );
});
}
});
var Import_Workflow_View = Backbone.View.extend({
var ImportWorkflowView = Backbone.View.extend({
initialize: function() {
this.setElement( '<div/>' );
@@ -269,7 +243,6 @@ define( [ 'mvc/tool/tool-form-composite' ], function( ToolForm ) {
return {
View : View,
Run_Workflow_View : Run_Workflow_View,
Import_Workflow_View : Import_Workflow_View
ImportWorkflowView : ImportWorkflowView
};
});
+8 -2
View File
@@ -277,6 +277,11 @@ define( [], function() {
+ minutes;
};
/** Get querystrings from url */
function getQueryString( key ) {
return decodeURIComponent( window.location.search.replace(new RegExp("^(?:.*[&\\?]" + encodeURIComponent( key ).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1") );
};
return {
cssLoadFile: cssLoadFile,
cssGetAttribute: cssGetAttribute,
@@ -293,6 +298,7 @@ define( [], function() {
deepeach: deepeach,
isJSON: isJSON,
clone: clone,
linkify: linkify
linkify: linkify,
getQueryString: getQueryString
};
});
});
@@ -740,6 +740,7 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix
return stored_dict
@web.expose
@web.json
def upload_import_workflow( self, trans, cntrller='workflow', **kwd ):
"""
Import a workflow by reading an url, uploading a file, opening and reading the contents
@@ -908,12 +909,12 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix
redirect_url = url_for( '/' ) + 'workflow?status=' + status + '&message=%s' % escape( message )
return trans.response.send_redirect( redirect_url )
else:
return json.dumps({
return {
'url' : url,
'message' : message,
'status' : status,
'myexperiment_target_url' : myexperiment_target_url
})
}
@web.expose
def build_from_current_history( self, trans, job_ids=None, dataset_ids=None, dataset_collection_ids=None, workflow_name=None, dataset_names=None, dataset_collection_names=None ):
@@ -953,6 +954,7 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix
url_for( controller='workflow', action='run', id=workflow_id ) ) )
@web.expose
@web.json
def run_workflow( self, trans, id, history_id=None, **kwargs ):
history = None
try:
@@ -970,9 +972,7 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix
workflow_contents_manager = workflows.WorkflowContentsManager( trans.app )
stored = workflow_manager.get_stored_accessible_workflow( trans, id )
workflow_dict = workflow_contents_manager.workflow_to_dict( trans, stored, style='run' )
wf_dict = list()
wf_dict.append( workflow_dict )
return json.dumps( wf_dict )
return workflow_dict
def get_item( self, trans, id ):
return self.get_stored_workflow( trans, id )
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"workflow.js","sources":["../../../src/mvc/workflow/workflow.js"],"names":["define","ToolForm","get_querystring","key","decodeURIComponent","window","location","search","replace","RegExp","encodeURIComponent","build_messages","self","$el_message","$el","find","status","message","addClass","html","_","escape","View","Backbone","extend","initialize","this","setElement","render","min_query_length","$","getJSON","Galaxy","root","workflows","$el_workflow","empty","append","_templateHeader","_templateActionButtons","length","_templateWorkflowTable","adjust_actiondropdown","each","wf","confirm_delete","search_workflow","_templateNoWorkflow","workflow","$el_wf_link","id","$el_shared_wf_link","click","confirm","name","$el_searchinput","$el_tabletr","min_querylen","on","query","val","regular_expression","hide","filter","test","text","show","css","tableHtml","trHtml","_templateActions","owner","user","attributes","username","number_of_steps","published","slug","Run_Workflow_View","options","run_workflow","url","response","wf_parsed","JSON","parse","stringify","form","Import_Workflow_View","_mainTemplate","myexperiment_target_url"],"mappings":"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"}
{"version":3,"file":"workflow.js","sources":["../../../src/mvc/workflow/workflow.js"],"names":["define","Utils","build_messages","self","$el_message","$el","find","status","getQueryString","message","addClass","html","_","escape","View","Backbone","extend","initialize","this","setElement","render","min_query_length","$","getJSON","Galaxy","root","workflows","$el_workflow","empty","append","_templateHeader","_templateActionButtons","length","_templateWorkflowTable","adjust_actiondropdown","each","wf","confirm_delete","search_workflow","_templateNoWorkflow","workflow","$el_wf_link","id","$el_shared_wf_link","click","confirm","name","$el_searchinput","$el_tabletr","min_querylen","on","query","val","regular_expression","RegExp","hide","filter","test","text","show","css","tableHtml","trHtml","_templateActions","owner","user","attributes","username","number_of_steps","published","slug","ImportWorkflowView","options","_mainTemplate","url","myexperiment_target_url"],"mappings":"AACAA,QAAU,eAAiB,SAAUC,GAGjC,QAASC,GAAgBC,GACrB,GAAIC,GAAcD,EAAKE,IAAIC,KAAM,qBAC7BC,EAASN,EAAMO,eAAgB,UAC/BC,EAAUR,EAAMO,eAAgB,UAEhCC,IAAuB,OAAZA,GAAgC,KAAZA,GAC/BL,EAAYM,SAAUH,EAAS,WAC/BH,EAAYO,KAAM,MAAQC,EAAEC,OAAQJ,GAAY,SAGhDL,EAAYO,KAAK,IAKzB,GAAIG,GAAOC,SAASD,KAAKE,QAErBC,WAAY,WACRC,KAAKC,WAAY,UACjBD,KAAKE,UAGTA,OAAQ,WACJ,GAAIjB,GAAOe,KACPG,EAAmB,CACvBC,GAAEC,QAASC,OAAOC,KAAO,iBAAkB,SAAUC,GACjD,GAAIC,GAAe,IAEnBxB,GAAKE,IAAIuB,QAAQC,OAAQ1B,EAAK2B,mBAE9B5B,EAAgBC,GAChBwB,EAAexB,EAAKE,IAAIC,KAAM,mBAE9BqB,EAAaE,OAAQ1B,EAAK4B,0BACtBL,EAAUM,OAAS,GACnBL,EAAaE,OAAQ1B,EAAK8B,uBAAwB9B,EAAMuB,IACxDvB,EAAK+B,sBAAuBP,GAE5Bf,EAAEuB,KAAMT,EAAW,SAAUU,GACzBjC,EAAKkC,eAAgBlC,EAAMiC,KAG/BjC,EAAKmC,gBAAiBnC,EAAMA,EAAKE,IAAIC,KAAM,cAAgBH,EAAKE,IAAIC,KAAM,uBAAyBe,IAGnGM,EAAaE,OAAQ1B,EAAKoC,0BAMtCF,eAAgB,SAAUlC,EAAMqC,GAC5B,GAAIC,GAActC,EAAKE,IAAIC,KAAM,iBAAmBkC,EAASE,IACzDC,EAAqBxC,EAAKE,IAAIC,KAAM,wBAA0BkC,EAASE,GAC3ED,GAAYG,MAAO,WACf,MAAOC,SAAS,6CAA+CL,EAASM,KAAO,QAEnFH,EAAmBC,MAAO,WACtB,MAAOC,SAAS,wDAA0DL,EAASM,KAAO,SAKlGR,gBAAiB,SAAUnC,EAAM4C,EAAiBC,EAAaC,GAC3DF,EAAgBG,GAAI,QAAS,WACzB,GAAIC,GAAQ7B,EAAGJ,MAAOkC,KAGtB,IAAID,EAAMnB,QAAUiB,EAAe,CAE/B,GAAII,GAAqB,GAAIC,QAAQH,EAAO,IAC5CH,GAAYO,OACZP,EAAYQ,OAAO,WAGf,MAAOH,GAAmBI,KAAMnC,EAAGJ,MAAOwC,UAC3CC,WAGHX,GAAYW,UAMxBzB,sBAAuB,SAAU7B,GAC7BA,EAAI6C,GAAI,mBAAoB,WACxB7C,EAAIuD,IAAK,WAAY,aAGzBvD,EAAI6C,GAAI,mBAAoB,WACxB7C,EAAIuD,IAAK,WAAY,WAK7BrB,oBAAqB,WACjB,MAAO,yDAIXR,uBAAwB,WACrB,MAAO,6PAKwGP,OAAOC,KAAM,8IAIFD,OAAOC,KAAM,4CAO1IQ,uBAAwB,SAAU9B,EAAMuB,GACpC,GAAImC,GAAY,GAAIC,EAAS,EAuB7B,OAtBAD,IAAwB,uIAOxBjD,EAAEuB,KAAMT,EAAW,SAAUU,GACzB0B,EAASA,EAAS,iGAIOlD,EAAEC,OAAQuB,EAAGU,MAAS,uCAE1B3C,EAAK4D,iBAAkB3B,GAC3B,mBAEQA,EAAG4B,QAAUxC,OAAOyC,KAAKC,WAAWC,SAAW,MAAQ/B,EAAG4B,OAAS,YACrE5B,EAAGgC,gBAAkB,aACnBhC,EAAGiC,UAAY,MAAQ,MAAS,eAGtDR,EAAY,kCAAoCC,EAAS,oBAIpEC,iBAAkB,SAAUvB,GACxB,MAAIA,GAASwB,QAAUxC,OAAOyC,KAAKC,WAAWC,SACnC,qDACqB3C,OAAOC,KAAM,sBAAuBe,EAASE,GAAI,+BACjDlB,OAAOC,KAAM,mBAAoBe,EAASE,GAAI,8BAC9ClB,OAAOC,KAAM,uBAAwBe,EAASE,GAAI,4CAClDlB,OAAOC,KAAM,oBAAqBe,EAASE,GAAI,+BAC/ClB,OAAOC,KAAM,sBAAuBe,EAASE,GAAI,iCACjDlB,OAAOC,KAAM,6BAA8Be,EAASE,GAAI,6CAC1CF,EAASE,GAAI,WAAYlB,OAAOC,KAAM,sBAAuBe,EAASE,GAAI,yBAI7G,qDACmBlB,OAAOC,KAAM,kDAAmDe,EAASwB,MAAO,SAAUxB,EAAS8B,KAAM,+BACzG9C,OAAOC,KAAM,mBAAoBe,EAASE,GAAI,8BAC9ClB,OAAOC,KAAM,oBAAqBe,EAASE,GAAI,oDAC1BF,EAASE,GAAI,WAAYlB,OAAOC,KAAM,uCAAwCe,EAASE,GAAI,0BAMlJZ,gBAAiB,WACb,MAAO,wIASXyC,EAAqBxD,SAASD,KAAKE,QAEnCC,WAAY,WACRC,KAAKC,WAAY,UACjBD,KAAKE,UAITA,OAAQ,WACJ,GAAIjB,GAAOe,IACXI,GAAEC,QAASC,OAAOC,KAAO,kCAAmC,SAAU+C,GAClErE,EAAKE,IAAIuB,QAAQC,OAAQ1B,EAAKsE,cAAetE,EAAMqE,OAK3DC,cAAe,SAAUtE,EAAMqE,GAC3B,MAAO,oKAGuEhD,OAAOC,KAAO,gMAGb+C,EAAQE,IAAK,2vBAwBvDF,EAAQG,wBAA0B,sNAa/E,QACI7D,KAAQA,EACRyD,mBAAqBA"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,2 +1,2 @@
define([],function(){function a(a){return'<iframe src="'+a+'" frameborder="0" style="width: 100%; height: 100%;"/>'}function b(a,c){for(var d in a){var e=a[d];if(_.isObject(e)){var f=c(e);f&&(a[d]=f),b(e,c)}}}function c(a){var b,c,d,e;return c=/(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim,b=a.replace(c,'<a href="$1" target="_blank">$1</a>'),d=/(^|[^\/])(www\.[\S]+(\b|$))/gim,b=b.replace(d,'$1<a href="http://$2" target="_blank">$2</a>'),e=/(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)/gim,b=b.replace(e,'<a href="mailto:$1">$1</a>')}function d(a){return JSON.parse(JSON.stringify(a)||null)}function e(a){return/^[\],:{}\s]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))}function f(a){return $("<div/>").text(a).html()}function g(a){if(a instanceof Array||(a=[a]),0===a.length)return!0;for(var b in a)if(["__null__","__undefined__",null,void 0].indexOf(a[b])>-1)return!0;return!1}function h(a){if($.isArray(a)){var a=a.toString().replace(/,/g,", "),b=a.lastIndexOf(", ");return-1!=b&&(a=a.substr(0,b)+" or "+a.substr(b+2)),a}return""}function i(a){top.__utils__get__=top.__utils__get__||{};var b=JSON.stringify(a);a.cache&&top.__utils__get__[b]?(a.success&&a.success(top.__utils__get__[b]),window.console.debug("utils.js::get() - Fetching from cache ["+a.url+"].")):j({url:a.url,data:a.data,success:function(c){top.__utils__get__[b]=c,a.success&&a.success(c)},error:function(b,c){a.error&&a.error(b,c)}})}function j(a){var b={contentType:"application/json",type:a.type||"GET",data:a.data||{},url:a.url};"GET"==b.type||"DELETE"==b.type?($.isEmptyObject(b.data)||(b.url+=-1==b.url.indexOf("?")?"?":"&",b.url+=$.param(b.data,!0)),b.data=null):(b.dataType="json",b.url=b.url,b.data=JSON.stringify(b.data)),$.ajax(b).done(function(b){if("string"==typeof b)try{b=b.replace("Infinity,",'"Infinity",'),b=jQuery.parseJSON(b)}catch(c){console.debug(c)}a.success&&a.success(b)}).fail(function(b){var c=null;try{c=jQuery.parseJSON(b.responseText)}catch(d){c=b.responseText}a.error&&a.error(c,b.status)}).always(function(){a.complete&&a.complete()})}function k(a,b){var c=$('<div class="'+a+'"></div>');c.appendTo(":eq(0)");var d=c.css(b);return c.remove(),d}function l(a){$('link[href^="'+a+'"]').length||$('<link href="'+Galaxy.root+a+'" rel="stylesheet">').appendTo("head")}function m(a,b){return a?_.defaults(a,b):b}function n(a,b){for(var c=1,d=0;b>d;d++)c*=10;return Math.round(a*c)/c}function o(a,b,c){c=void 0!==c?c:1;var d="";if(a>=u)a/=u,d="TB";else if(a>=t)a/=t,d="GB";else if(a>=s)a/=s,d="MB";else if(a>=r)a/=r,d="KB";else{if(!(a>0))return b?"0 b":"<strong>-</strong>";d="b"}var e="b"==d?a:n(a,c);return b?e+" "+d:"<strong>"+e+"</strong> "+d}function p(){return top.__utils__uid__=top.__utils__uid__||0,"uid-"+top.__utils__uid__++}function q(){var a=new Date,b=(a.getHours()<10?"0":"")+a.getHours(),c=(a.getMinutes()<10?"0":"")+a.getMinutes();return datetime=a.getDate()+"/"+(a.getMonth()+1)+"/"+a.getFullYear()+", "+b+":"+c}var r=1024,s=r*r,t=s*r,u=t*r;return{cssLoadFile:l,cssGetAttribute:k,get:i,merge:m,iframe:a,bytesToString:o,uid:p,time:q,request:j,sanitize:f,textify:h,isEmpty:g,deepeach:b,isJSON:e,clone:d,linkify:c}});
define([],function(){function a(a){return'<iframe src="'+a+'" frameborder="0" style="width: 100%; height: 100%;"/>'}function b(a,c){for(var d in a){var e=a[d];if(_.isObject(e)){var f=c(e);f&&(a[d]=f),b(e,c)}}}function c(a){var b,c,d,e;return c=/(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim,b=a.replace(c,'<a href="$1" target="_blank">$1</a>'),d=/(^|[^\/])(www\.[\S]+(\b|$))/gim,b=b.replace(d,'$1<a href="http://$2" target="_blank">$2</a>'),e=/(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)/gim,b=b.replace(e,'<a href="mailto:$1">$1</a>')}function d(a){return JSON.parse(JSON.stringify(a)||null)}function e(a){return/^[\],:{}\s]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))}function f(a){return $("<div/>").text(a).html()}function g(a){if(a instanceof Array||(a=[a]),0===a.length)return!0;for(var b in a)if(["__null__","__undefined__",null,void 0].indexOf(a[b])>-1)return!0;return!1}function h(a){if($.isArray(a)){var a=a.toString().replace(/,/g,", "),b=a.lastIndexOf(", ");return-1!=b&&(a=a.substr(0,b)+" or "+a.substr(b+2)),a}return""}function i(a){top.__utils__get__=top.__utils__get__||{};var b=JSON.stringify(a);a.cache&&top.__utils__get__[b]?(a.success&&a.success(top.__utils__get__[b]),window.console.debug("utils.js::get() - Fetching from cache ["+a.url+"].")):j({url:a.url,data:a.data,success:function(c){top.__utils__get__[b]=c,a.success&&a.success(c)},error:function(b,c){a.error&&a.error(b,c)}})}function j(a){var b={contentType:"application/json",type:a.type||"GET",data:a.data||{},url:a.url};"GET"==b.type||"DELETE"==b.type?($.isEmptyObject(b.data)||(b.url+=-1==b.url.indexOf("?")?"?":"&",b.url+=$.param(b.data,!0)),b.data=null):(b.dataType="json",b.url=b.url,b.data=JSON.stringify(b.data)),$.ajax(b).done(function(b){if("string"==typeof b)try{b=b.replace("Infinity,",'"Infinity",'),b=jQuery.parseJSON(b)}catch(c){console.debug(c)}a.success&&a.success(b)}).fail(function(b){var c=null;try{c=jQuery.parseJSON(b.responseText)}catch(d){c=b.responseText}a.error&&a.error(c,b.status)}).always(function(){a.complete&&a.complete()})}function k(a,b){var c=$('<div class="'+a+'"></div>');c.appendTo(":eq(0)");var d=c.css(b);return c.remove(),d}function l(a){$('link[href^="'+a+'"]').length||$('<link href="'+Galaxy.root+a+'" rel="stylesheet">').appendTo("head")}function m(a,b){return a?_.defaults(a,b):b}function n(a,b){for(var c=1,d=0;b>d;d++)c*=10;return Math.round(a*c)/c}function o(a,b,c){c=void 0!==c?c:1;var d="";if(a>=v)a/=v,d="TB";else if(a>=u)a/=u,d="GB";else if(a>=t)a/=t,d="MB";else if(a>=s)a/=s,d="KB";else{if(!(a>0))return b?"0 b":"<strong>-</strong>";d="b"}var e="b"==d?a:n(a,c);return b?e+" "+d:"<strong>"+e+"</strong> "+d}function p(){return top.__utils__uid__=top.__utils__uid__||0,"uid-"+top.__utils__uid__++}function q(){var a=new Date,b=(a.getHours()<10?"0":"")+a.getHours(),c=(a.getMinutes()<10?"0":"")+a.getMinutes();return datetime=a.getDate()+"/"+(a.getMonth()+1)+"/"+a.getFullYear()+", "+b+":"+c}function r(a){return decodeURIComponent(window.location.search.replace(new RegExp("^(?:.*[&\\?]"+encodeURIComponent(a).replace(/[\.\+\*]/g,"\\$&")+"(?:\\=([^&]*))?)?.*$","i"),"$1"))}var s=1024,t=s*s,u=t*s,v=u*s;return{cssLoadFile:l,cssGetAttribute:k,get:i,merge:m,iframe:a,bytesToString:o,uid:p,time:q,request:j,sanitize:f,textify:h,isEmpty:g,deepeach:b,isJSON:e,clone:d,linkify:c,getQueryString:r}});
//# sourceMappingURL=../../maps/utils/utils.js.map