diff --git a/client/galaxy/scripts/mvc/tours.js b/client/galaxy/scripts/mvc/tours.js index 6fd15b2dcb9..012e9fd4b7c 100644 --- a/client/galaxy/scripts/mvc/tours.js +++ b/client/galaxy/scripts/mvc/tours.js @@ -31,7 +31,7 @@ define(['libs/bootstrap-tour'],function(BootstrapTour) { }; } if (step.postclick){ - step.onHide = function(){ + step.onNext = function(){ _.each(step.postclick, function(postclick){ // TODO: click delay between clicks $(postclick).click(); diff --git a/static/maps/mvc/tool/tool-form-base.js.map b/static/maps/mvc/tool/tool-form-base.js.map index a1f39f72d22..84ad38a0be3 100644 --- a/static/maps/mvc/tool/tool-form-base.js.map +++ b/static/maps/mvc/tool/tool-form-base.js.map @@ -1 +1 @@ -{"version":3,"file":"tool-form-base.js","sources":["../../../src/mvc/tool/tool-form-base.js"],"names":["define","Utils","Deferred","Ui","FormBase","CitationModel","CitationView","extend","initialize","options","self","this","deferred","prototype","call","model","get","_buildForm","attributes","execute","process","_buildModel","parent","Galaxy","currHistoryPanel","listenTo","collection","$el","on","remove","hide","emit","debug","set","title","name","description","version","operations","_operations","onchange","reset","render","append","$","addClass","_footer","new_options","hide_message","id","build_url","build_data","job_id","root","params","url","data","success","display","message","update","status","persistent","resolve","window","location","error","response","error_message","err_msg","param","redirect","is","prepend","Message","large","modal","show","body","buttons","Close","reject","versions_button","ButtonMenu","icon","narrow","tooltip","sustain_version","versions","length","i","addMenu","onclick","replace","menu_button","biostar_url","open","prompt","origin","user","href","requirements","requirements_visible","portlet","collapsed","expand","_templateRequirements","sharable_url","menu","_templateHelp","citations","$citations","ToolCitationCollection","tool_id","citation_list_view","CitationListView","el","fetch","$tmpl","help","find","attr","nreq","requirements_message","_","each","req","requirements_link","text"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tool-form-base.js","sources":["../../../src/mvc/tool/tool-form-base.js"],"names":["define","Utils","Deferred","Ui","FormBase","CitationModel","CitationView","extend","initialize","options","self","this","deferred","prototype","call","model","get","_buildForm","attributes","execute","process","_buildModel","parent","Galaxy","currHistoryPanel","listenTo","collection","$el","on","remove","hide","emit","debug","set","title","name","description","version","operations","_operations","onchange","reset","render","append","$","addClass","_footer","new_options","hide_message","id","build_url","build_data","job_id","root","params","url","data","success","display","message","update","status","persistent","resolve","window","location","error","response","error_message","err_msg","param","redirect","is","prepend","Message","large","modal","show","body","buttons","Close","reject","versions_button","ButtonMenu","icon","narrow","tooltip","sustain_version","versions","length","i","addMenu","onclick","replace","menu_button","biostar_url","open","prompt","origin","user","href","requirements","requirements_visible","portlet","collapsed","expand","_templateRequirements","sharable_url","menu","_templateHelp","citations","$citations","ToolCitationCollection","tool_id","citation_list_view","CitationListView","el","fetch","$tmpl","help","find","attr","nreq","requirements_message","_","each","req","requirements_link","text"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/mvc/tours.js.map b/static/maps/mvc/tours.js.map index bfafd514e79..70bb28a9182 100644 --- a/static/maps/mvc/tours.js.map +++ b/static/maps/mvc/tours.js.map @@ -1 +1 @@ -{"version":3,"file":"tours.js","sources":["../../src/mvc/tours.js"],"names":["define","gxy_root","Galaxy","root","tour_opts","storage","window","sessionStorage","onEnd","removeItem","delay","orphan","hooked_tour_from_data","data","_","each","steps","step","preclick","onShow","$","click","postclick","onHide","textinsert","onShown","element","val","trigger","TourItem","Backbone","Model","extend","urlRoot","Tours","Collection","url","model","giveTour","tour_id","getJSON","tourdata","setItem","JSON","stringify","tour","Tour","init","goTo","restart","ToursView","View","initialize","self","this","setElement","fetch","success","render","error","console","tpl","template","join","$el","html","tours","models","on","e","preventDefault"],"mappings":"AAUAA,QAAQ,uBAAuB,WAE3B,GAAIC,GAA6B,mBAAXC,QAAyB,IAAMA,OAAOC,KAExDC,GAAcC,QAASC,OAAOC,eAChBC,MAAO,WACHD,eAAeE,WAAW,qBAE9BC,MAAO,IACPC,QAAO,GAGrBC,EAAwB,SAASC,GA2BjC,MA1BAC,GAAEC,KAAKF,EAAKG,MAAO,SAASC,GACpBA,EAAKC,WACLD,EAAKE,OAAQ,WACTL,EAAEC,KAAKE,EAAKC,SAAU,SAASA,GAE3BE,EAAEF,GAAUG,YAIpBJ,EAAKK,YACLL,EAAKM,OAAS,WACVT,EAAEC,KAAKE,EAAKK,UAAW,SAASA,GAE5BF,EAAEE,GAAWD,YAIrBJ,EAAKO,aAILP,EAAKQ,QAAS,WACVL,EAAEH,EAAKS,SAASC,IAAIV,EAAKO,YAAYI,QAAQ,cAIlDf,GAGPgB,EAAWC,SAASC,MAAMC,QAC5BC,QAAShC,EAAW,cAGlBiC,EAAQJ,SAASK,WAAWH,QAC9BI,IAAMnC,EAAW,YACjBoC,MAAOR,IAILS,EAAY,SAASC,GACrB,GAAIH,GAAMnC,EAAW,aAAesC,CACpCnB,GAAEoB,QAASJ,EAAK,SAAUvB,GAEtB,GAAI4B,GAAW7B,EAAsBC,EACrCN,gBAAemC,QAAQ,mBAAoBC,KAAKC,UAAU/B,GAE1D,IAAIgC,GAAO,GAAIC,MAAKhC,EAAEkB,QAClBhB,MAAOyB,EAASzB,OACjBZ,GAEHyC,GAAKE,OACLF,EAAKG,KAAK,GACVH,EAAKI,aAGTC,EAAYpB,SAASqB,KAAKnB,QAE1BoB,WAAY,WACR,GAAIC,GAAOC,IACXA,MAAKC,WAAW,UAChBD,KAAKjB,MAAQ,GAAIH,GACjBoB,KAAKjB,MAAMmB,OACTC,QAAS,WACPJ,EAAKK,UAEPC,MAAO,WAELC,QAAQD,MAAM,8BAKtBD,OAAQ,WACJ,GAAIG,GAAM/C,EAAEgD,UACR,wBACA,uFACA,2FACA,OACA,uCACI,OACI,gFACI,yCACJ,OACA,mEACJ,QACJ,YACA,SAASC,KAAK,IAClBT,MAAKU,IAAIC,KAAKJ,GAAKK,MAAOZ,KAAKjB,MAAM8B,UAAUC,GAAG,QAAS,YAAa,SAASC,GAC7EA,EAAEC,iBACFhC,EAASlB,EAAEkC,MAAMzC,KAAK,gBAKlC,QAAQqC,UAAWA,EACXtC,sBAAuBA,EACvBR,UAAWA,EACXkC,SAAUA"} \ No newline at end of file +{"version":3,"file":"tours.js","sources":["../../src/mvc/tours.js"],"names":["define","gxy_root","Galaxy","root","tour_opts","storage","window","sessionStorage","onEnd","removeItem","delay","orphan","hooked_tour_from_data","data","_","each","steps","step","preclick","onShow","$","click","postclick","onNext","textinsert","onShown","element","val","trigger","TourItem","Backbone","Model","extend","urlRoot","Tours","Collection","url","model","giveTour","tour_id","getJSON","tourdata","setItem","JSON","stringify","tour","Tour","init","goTo","restart","ToursView","View","initialize","self","this","setElement","fetch","success","render","error","console","tpl","template","join","$el","html","tours","models","on","e","preventDefault"],"mappings":"AAUAA,QAAQ,uBAAuB,WAE3B,GAAIC,GAA6B,mBAAXC,QAAyB,IAAMA,OAAOC,KAExDC,GAAcC,QAASC,OAAOC,eAChBC,MAAO,WACHD,eAAeE,WAAW,qBAE9BC,MAAO,IACPC,QAAO,GAGrBC,EAAwB,SAASC,GA2BjC,MA1BAC,GAAEC,KAAKF,EAAKG,MAAO,SAASC,GACpBA,EAAKC,WACLD,EAAKE,OAAQ,WACTL,EAAEC,KAAKE,EAAKC,SAAU,SAASA,GAE3BE,EAAEF,GAAUG,YAIpBJ,EAAKK,YACLL,EAAKM,OAAS,WACVT,EAAEC,KAAKE,EAAKK,UAAW,SAASA,GAE5BF,EAAEE,GAAWD,YAIrBJ,EAAKO,aAILP,EAAKQ,QAAS,WACVL,EAAEH,EAAKS,SAASC,IAAIV,EAAKO,YAAYI,QAAQ,cAIlDf,GAGPgB,EAAWC,SAASC,MAAMC,QAC5BC,QAAShC,EAAW,cAGlBiC,EAAQJ,SAASK,WAAWH,QAC9BI,IAAMnC,EAAW,YACjBoC,MAAOR,IAILS,EAAY,SAASC,GACrB,GAAIH,GAAMnC,EAAW,aAAesC,CACpCnB,GAAEoB,QAASJ,EAAK,SAAUvB,GAEtB,GAAI4B,GAAW7B,EAAsBC,EACrCN,gBAAemC,QAAQ,mBAAoBC,KAAKC,UAAU/B,GAE1D,IAAIgC,GAAO,GAAIC,MAAKhC,EAAEkB,QAClBhB,MAAOyB,EAASzB,OACjBZ,GAEHyC,GAAKE,OACLF,EAAKG,KAAK,GACVH,EAAKI,aAGTC,EAAYpB,SAASqB,KAAKnB,QAE1BoB,WAAY,WACR,GAAIC,GAAOC,IACXA,MAAKC,WAAW,UAChBD,KAAKjB,MAAQ,GAAIH,GACjBoB,KAAKjB,MAAMmB,OACTC,QAAS,WACPJ,EAAKK,UAEPC,MAAO,WAELC,QAAQD,MAAM,8BAKtBD,OAAQ,WACJ,GAAIG,GAAM/C,EAAEgD,UACR,wBACA,uFACA,2FACA,OACA,uCACI,OACI,gFACI,yCACJ,OACA,mEACJ,QACJ,YACA,SAASC,KAAK,IAClBT,MAAKU,IAAIC,KAAKJ,GAAKK,MAAOZ,KAAKjB,MAAM8B,UAAUC,GAAG,QAAS,YAAa,SAASC,GAC7EA,EAAEC,iBACFhC,EAASlB,EAAEkC,MAAMzC,KAAK,gBAKlC,QAAQqC,UAAWA,EACXtC,sBAAuBA,EACvBR,UAAWA,EACXkC,SAAUA"} \ No newline at end of file diff --git a/static/scripts/bundled/analysis.bundled.js.map b/static/scripts/bundled/analysis.bundled.js.map index 38bf677e8e3..52495fd9874 100644 --- a/static/scripts/bundled/analysis.bundled.js.map +++ b/static/scripts/bundled/analysis.bundled.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///analysis.bundled.js","webpack:///./galaxy/scripts/apps/analysis.js","webpack:///./galaxy/scripts/mvc/ui/ui-misc.js?fd98","webpack:///./galaxy/scripts/mvc/ui/ui-portlet.js?0568","webpack:///./galaxy/scripts/mvc/dataset/data.js?f841*","webpack:///./galaxy/scripts/mvc/dataset/states.js","webpack:///./galaxy/scripts/mvc/ui/ui-buttons.js?4ced","webpack:///./galaxy/scripts/mvc/ui/icon-button.js?40a6*","webpack:///./galaxy/scripts/mvc/ui/ui-popover.js","webpack:///./galaxy/scripts/mvc/ui/ui-select.js","webpack:///./galaxy/scripts/ui/editable-text.js?53d0","webpack:///./galaxy/scripts/ui/fa-icon-button.js","webpack:///./galaxy/scripts/viz/trackster/util.js?c726","webpack:///./galaxy/scripts/mvc/citation/citation-model.js?63a3","webpack:///./galaxy/scripts/mvc/form/form-view.js?db3b","webpack:///./galaxy/scripts/mvc/ui/ui-list.js?ecf1","webpack:///./galaxy/scripts/mvc/ui/ui-options.js?405a","webpack:///./galaxy/scripts/mvc/ui/ui-select-default.js?402d","webpack:///./galaxy/scripts/mvc/upload/upload-model.js","webpack:///./galaxy/scripts/mvc/tool/tool-form.js?a6b7","webpack:///./galaxy/scripts/mvc/ui/ui-table.js?4ded","webpack:///./galaxy/scripts/libs/bibtex.js?8f2e","webpack:///./galaxy/scripts/mvc/citation/citation-view.js?b4c0","webpack:///./galaxy/scripts/mvc/collection/collection-li.js","webpack:///./galaxy/scripts/mvc/collection/collection-model.js","webpack:///./galaxy/scripts/mvc/collection/list-collection-creator.js","webpack:///./galaxy/scripts/mvc/dataset/dataset-li.js","webpack:///./galaxy/scripts/mvc/form/form-data.js?6144","webpack:///./galaxy/scripts/mvc/form/form-input.js?af7f","webpack:///./galaxy/scripts/mvc/form/form-parameters.js?0ee1","webpack:///./galaxy/scripts/mvc/form/form-repeat.js?7c22","webpack:///./galaxy/scripts/mvc/form/form-section.js?2ccb","webpack:///./galaxy/scripts/mvc/history/hdca-model.js","webpack:///./galaxy/scripts/mvc/history/history-contents.js","webpack:///./galaxy/scripts/mvc/history/history-preferences.js","webpack:///./galaxy/scripts/mvc/list/list-item.js","webpack:///./galaxy/scripts/mvc/tag.js","webpack:///./galaxy/scripts/mvc/tool/tool-form-base.js?81c1","webpack:///./galaxy/scripts/mvc/tool/tools.js?fad9","webpack:///./galaxy/scripts/mvc/ui/ui-color-picker.js?fa1d","webpack:///./galaxy/scripts/mvc/ui/ui-drilldown.js?de06","webpack:///./galaxy/scripts/mvc/ui/ui-select-content.js?e092","webpack:///./galaxy/scripts/mvc/ui/ui-select-ftp.js?cf41","webpack:///./galaxy/scripts/mvc/ui/ui-select-library.js?fd76","webpack:///./galaxy/scripts/mvc/ui/ui-slider.js?93a7","webpack:///./galaxy/scripts/mvc/upload/upload-ftp.js","webpack:///./galaxy/scripts/mvc/upload/upload-settings.js","webpack:///./galaxy/scripts/utils/deferred.js?8fee","webpack:///./galaxy/scripts/utils/uploadbox.js","webpack:///./galaxy/scripts/mvc/annotation.js","webpack:///./galaxy/scripts/mvc/base/controlled-fetch-collection.js","webpack:///./galaxy/scripts/mvc/collection/base-creator.js","webpack:///./galaxy/scripts/mvc/collection/collection-view.js","webpack:///./galaxy/scripts/mvc/dataset/dataset-li-edit.js","webpack:///./galaxy/scripts/mvc/dataset/dataset-model.js","webpack:///./galaxy/scripts/mvc/history/hda-li.js","webpack:///./galaxy/scripts/mvc/history/hda-model.js","webpack:///./galaxy/scripts/mvc/history/hdca-li.js","webpack:///./galaxy/scripts/mvc/history/history-content-model.js","webpack:///./galaxy/scripts/mvc/history/history-model.js","webpack:///./galaxy/scripts/mvc/list/list-view.js","webpack:///./galaxy/scripts/mvc/ui/error-modal.js","webpack:///./galaxy/scripts/mvc/ui/popup-menu.js","webpack:///./galaxy/scripts/ui/hoverhighlight.js","webpack:///./galaxy/scripts/ui/search-input.js","webpack:///./galaxy/scripts/utils/natural-sort.js","webpack:///./galaxy/scripts/apps/history-panel.js","webpack:///./galaxy/scripts/apps/tool-panel.js","webpack:///./galaxy/scripts/mvc/collection/collection-li-edit.js","webpack:///./galaxy/scripts/mvc/collection/collection-view-edit.js","webpack:///./galaxy/scripts/mvc/collection/list-of-pairs-collection-creator.js","webpack:///./galaxy/scripts/mvc/collection/pair-collection-creator.js","webpack:///./galaxy/scripts/mvc/history/copy-dialog.js","webpack:///./galaxy/scripts/mvc/history/hda-li-edit.js","webpack:///./galaxy/scripts/mvc/history/hdca-li-edit.js","webpack:///./galaxy/scripts/mvc/history/history-view-edit-current.js","webpack:///./galaxy/scripts/mvc/history/history-view-edit.js","webpack:///./galaxy/scripts/mvc/history/history-view.js","webpack:///./galaxy/scripts/mvc/history/options-menu.js","webpack:///./galaxy/scripts/mvc/ui/ui-tabs.js","webpack:///./galaxy/scripts/mvc/upload/collection/collection-row.js","webpack:///./galaxy/scripts/mvc/upload/collection/collection-view.js","webpack:///./galaxy/scripts/mvc/upload/composite/composite-row.js","webpack:///./galaxy/scripts/mvc/upload/composite/composite-view.js","webpack:///./galaxy/scripts/mvc/upload/default/default-row.js","webpack:///./galaxy/scripts/mvc/upload/default/default-view.js","webpack:///./galaxy/scripts/mvc/upload/upload-button.js","webpack:///./galaxy/scripts/mvc/upload/upload-view.js","webpack:///./galaxy/scripts/mvc/user/user-custom-builds.js","webpack:///./galaxy/scripts/mvc/user/user-preferences.js","webpack:///./galaxy/scripts/ui/loading-indicator.js","webpack:///./galaxy/scripts/utils/ajax-queue.js","webpack:///./galaxy/scripts/utils/levenshtein.js"],"names":["webpackJsonp","module","exports","__webpack_require__","_","Backbone","jQuery","$","GalaxyApp","QUERY_STRING","PANEL","ToolPanel","HistoryPanel","PAGE","ToolForm","UserPreferences","CustomBuilds","Tours","window","app","options","bootstrapped","Galaxy","debug","config","toolPanel","el","userIsAnonymous","user","isAnonymous","toolbox","toolbox_in_panel","stored_workflow_menu_entries","nginx_upload_path","ftp_upload_site","default_genome","default_extension","centerPanel","CenterPanel","historyPanel","galaxyRoot","root","allow_user_dataset_purge","analysisPage","PageLayoutView","extend","left","center","right","page","params","tool_panel","upload","uploadButton","currHistoryPanel","historyView","listenToGalaxy","routingMessage","View","initialize","this","message","msg_status","type","render","$el","html","escape","addClass","router","Router","push","url","data","__identifer","Math","random","toString","substr","isEmptyObject","indexOf","param","navigate","trigger","execute","callback","args","name","queryObj","parse","pop","authenticate","apply","loginRequired","routes","(/)","(/)root*","(/)tours(/)(:tour_id)","(/)user(/)","(/)user(/)(:form_id)","(/)custom_builds","require_login","display","id","show_tours","tour_id","giveTour","ToursView","show_user","show_user_form","form_id","Forms","user_id","show_custom_builds","self","model","setTimeout","home","tool_id","job_id","show","_loadCenterIframe","_loadToolForm","workflow_id","m_c","m_a","prop","loadCurrentHistory","listenTo","fetch","urlRoot","connectToQuotaMeter","masthead","quotaMeter","history","start","pushState","call","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","Utils","Select","Slider","Options","Drilldown","Buttons","Modal","Label","tagName","Model","setElement","title","new_title","set","value","get","removeClass","Message","status","cls","persistent","fade","update","messageForDisplay","timeout","clearTimeout","fadeOut","UnescapedMessage","Input","placeholder","disabled","readonly","visible","area","color","style","events","input","new_val","undefined","attr","css","datalist","isArray","length","autocomplete","source","request","response","change","_onchange","val","each","attr_name","removeAttr","Hidden","append","$info","$hidden","text","hide","Upload","$file","$text","$wait","on","e","_readFile","file","target","files","reader","FileReader","onload","wait","result","readAsText","Button","ButtonDefault","ButtonIcon","ButtonCheck","ButtonMenu","ButtonLink","RadioButton","Checkbox","Radio","Ui","uid","icon","buttons","body","scrollable","nopadding","operations","collapsible","collapsible_button","collapsed","onchange_title","_template","$body","$title_text","$title_icon","$header","$content","$backdrop","$buttons","$operations","tooltip","onclick","attributes","off","collapse","expand","make_text_editable","on_finish","empty","item","header","fadeIn","enableButton","find","disableButton","hideOperation","showOperation","setOperation","height","setIcon","disable","enable","Frames","mod_icon_btn","DatasetMetadata","Dataset","defaults","hda_ldda","metadata","_set_metadata","keys","k","new_key","split","silent","get_metadata","attribute","TabularDataset","prototype","chunk_url","first_data_chunk","offset","at_eof","url_viz","get_next_chunk","next_chunk","Deferred","getJSON","success","chunk","rval","ck_data","resolve","DatasetCollection","Collection","TabularDatasetChunkedView","row_count","loading_chunk","TabularButtonTracksterView","expand_to_container","scroll_elt","attempt_to_fetch","func","scrolled_to_bottom","loading_indicator","when","then","_renderChunk","data_table","cellpadding","column_names","header_container","appendTo","header_row","join","j","first_chunk","scroll","_renderCell","cell_contents","index","colspan","$cell","column_types","_renderRow","line","cells","row","num_columns","slice","range","TopLevelTabularDatasetChunkedView","parents","p","scrollTop","EmbeddedTabularDatasetChunkedView","position","overflow","innerHeight","scrollHeight","col","chrom","end","dataset_id","genome_build","file_ext","search","str","array","match","parent","modal","frame","console","log","btn_viz","IconButtonView","IconButton","icon_class","mouseover tr","mouseleave","is_numeric","n","isNaN","parseFloat","isFinite","children","eq","btn_viz_pars","gene_region","top","click","create_trackster_action","vis_url","dataset_params","dbkey","listTracksParams","ajax","dataType","error","Cancel","table_html","View in saved visualization","Add to visualization","vis_id","add","content","View in new visualization","createTabularDatasetChunkedView","dataset_config","parent_elt","embedded","view","STATES","UPLOAD","QUEUED","RUNNING","SETTING_METADATA","NEW","EMPTY","OK","PAUSED","FAILED_METADATA","NOT_VIEWABLE","DISCARDED","ERROR","READY_STATES","NOT_READY_STATES","floating","wait_text","wait_cls","percentage","$icon","$title","$progress","$progress_bar","placement","width","unwait","href","icons","onchange","total","$button","$menu","pull","onunload","tag","collection","$root","float","where","preventDefault","remove","submodel","suboptions","$link","divider","addMenu","merge","on_click","menu_options","is_menu_button","enabled","tooltip_config","bind","new_elem","template","toJSON","replaceWith","event","isFunction","buffer","IconButtonCollection","IconButtonMenuView","button","elt","make_popupmenu","create_icon_buttons_menu","global_config","map","button_config","optionsDefault","with_close","container","$close","is","has","_get_placement","newTitle","_get_width","$container","container_width","container_height","_get_height","container_position","parseInt","multiple","minimumInputLength","initialData","select_data","_refresh","_setValue","new_value","before","_getValue","after","select2","del","_getIndex","splice","key","select_opt","containerCssClass","dropdownCssClass","escapeMarkup","formatResult","formatSelection","initSelection","selected","dropdownAutoWidth","findIndex","__WEBPACK_AMD_DEFINE_FACTORY__","factory","fn","config_dict","num_cols","num_rows","use_textarea","help_text","input_elt","button_elt","set_text","new_text","cur_text","rows","cols","trim","keyup","keyCode","size","blur","stopPropagation","focus","select","faIconButton","tooltipConfig","classes","concat","faIcon","commatize","number","rgx","test","replace","is_deferred","d","ServerStateDeferred","ajax_settings","interval","success_fn","go","deferred","_go","get_random_color","colors","i","new_color","nr","ng","nb","other_color","or","og","ob","n_brightness","o_brightness","diff","brightness","r","g","b","difference","r1","g1","b1","r2","g2","b2","max","min","ok","num_tries","round","abs","parseBibtex","baseMVC","_l","BibtexParser","logNamespace","Citation","LoggableMixin","_logNamespace","parsed","err","errors","reduce","all","current","_fields","entry","first","entries","rawFields","Fields","lowerKey","toLowerCase","entryType","EntryType","fields","BaseCitationCollection","partial","HistoryCitationCollection","history_id","ToolCitationCollection","Portlet","FormSection","FormData","initial_errors","always_refresh","message_status","new_model","matchModel","node","input_id","input_list","isEqual","field","field_list","new_options","opt","label","emit","active","is_dynamic","highlight","input_element","element_list","portlet","$panel","filter","animate","error_messages","matchResponse","Manager","_renderForm","create","current_check","checksum","refresh_on_change","new_check","reset","section","inputs","optional","v","v_id","v_name","lst","isEmpty","_templateRow","Base","error_text","_changeValue","_changeWait","_changeData","_changeVisible","$message","$options","all_button","_templateOptions","option","_templateOption","_messageShow","values","BaseIcons","pair","closest","data2","empty_text","searchable","selectall","pagesize","_changeDisabled","_renderSearchable","_renderClassic","$select","$dropdown","$resize","$resize_icon","currentY","pageY","currentHeight","minHeight","prepend","_match","term","String","toUpperCase","order","tags","matched_tags","closeOnSelect","query","q","results","found","more","memo","exists","findWhere","sorter","keep","sort","setOnChange","a","extension","genome","url_paste","info","file_name","file_mode","file_size","file_type","file_path","file_data","space_to_tab","to_posix_lines","clear","ToolFormBase","Webhooks","form","listen_to_history","customize","execute_btn","version","submit","job_remap","ignore","help","postchange","process","current_state","tool_version","reject","job_def","validate","action","$f","method","enctype","_templateSuccess","jobs","WebhookView","refreshContents","input_found","err_data","_templateError","err_msg","Close","job_inputs","batch_n","batch_src","job_input_id","input_value","input_field","input_def","batch","src","njobs","njobs_text","outputs","output","hid","JSON","stringify","ondblclick","onconfirm","selectable","cls_tr","$thead","$tbody","$tmessage","_row","dblclick","addHeader","appendHeader","align","wrapper","_commit","delAll","_onclick","old_value","_ondblclick","arg0","accumulator","tempStorage","parser","getErrors","STATES_","ENTRY_OR_JUNK","OBJECT_TYPE","ENTRY_KEY","KV_KEY","EQUALS","KV_VALUE","DATA_","CALLBACK_","CHAR_","LINE_","CHAR_IN_LINE_","SKIPWS_","SKIPCOMMENT_","PARSETMP_","SKIPTILLEOL_","VALBRACES_","BRACETYPE_","BRACECOUNT_","STATE_","ERRORS_","ENTRY_TYPES_","inproceedings","proceedings","article","techreport","misc","mastersthesis","book","phdthesis","incollection","unpublished","inbook","manual","periodical","booklet","masterthesis","conference","online","MACROS_","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","processCharacter_","error_","processEntry_","f","raw","CHARCONV_","re","rep","len","processed","c","skip","ObjectType","AnotherIteration","ot","Key","EntryKey","Value","\"","{","delim","doneParsingValue","macro","citationModel","CitationView","className","formattedReference","ref","authorsAndYear","_asSentence","author","year","pages","address","volume","journal","booktitle","howpublished","note","institution","_formatBookInfo","doiUrl","doi","chapter","editor","publisher","series","issn","CitationListView","renderCitation","click .citations-to-bibtex","click .citations-to-formatted","citation","citationView","rawTextarea","citationsElement","showFormatted","showBibtex","partialWarningElement","LIST_ITEM","DATASET_LI","BASE_MVC","FoldoutListItemView","ListItemView","DCListItemView","linkTarget","hasUser","_setUpListeners","changed","_renderSubtitle","templates","subtitle","_getFoldoutPanelOptions","$selector","modelString","warnings","wrapTemplate","purged","deleted","titleBarTemplate","subtitleTemplate","titleBar","DCEListItemView","logger","DatasetDCEListItemView","DatasetListItemView","_fetchModelDetails","inReadyState","hasDetails","NestedDCDCEListItemView","_swapNewRender","$newRender","state","DATASET_MODEL","DatasetCollectionElementMixin","model_class","element_identifier","element_index","element_type","_mergeObject","object","element_id","constructor","idAttribute","arguments","DatasetCollectionElement","DCECollection","DatasetDCE","DatasetAssociation","mixin","warn","_downloadQueryParameters","elements","objStr","DatasetDCECollection","SearchableModelMixin","collection_type","collectionClass","_createElementsModel","unset","element","parent_hdca_id","json","populated","isDeletedOrPurged","getVisibleContents","filters","create_time","Date","update_time","delete","save","undelete","searchAttributes","idAndName","ListDatasetCollection","PairDatasetCollection","NestedDCDCE","NestedDCDCECollection","NestedPairDCDCE","NestedPairDCDCECollection","ListPairedDatasetCollection","NestedListDCDCE","NestedListDCDCECollection","ListOfListsDatasetCollection","HDCA","baseCreator","UI_MODAL","naturalSort","createListCollection","contents","defaultHideSourceItems","promise","listCollectionCreatorModal","creationFn","hideSourceItems","history_content_type","createHDCA","DatasetCollectionElementView","toggle","toggleClass","hasClass","discard","parentWidth","margin-right","destroy","click .name","click .discard","dragstart","dragend","dragover","drop","_click","ev","_clickName","prompt","_clickDiscard","_dragstart","originalEvent","dataTransfer","effectAllowed","setData","_dragend","_sendToParent","ListCollectionCreator","CollectionCreatorMixin","elementViewClass","HistoryListDatasetCollection","minElements","defaultAttributes","TypeError","oncreate","oncancel","autoscrollDist","highlightClr","footerSettings",".hide-originals","metric","creator","initialElements","_setUpCommonSettings","_instanceSetUp","_elementsSetUp","_setUpBehaviors","selectedIds","$dragging","blocking","invalidElements","workingElements","elementViews","_ensureElementIds","_validateElements","_mangleDuplicateNames","_sortElements","forEach","hasOwnProperty","uniqueId","problem","_isElementInvalid","validState","contains","SAFETY","counter","existingNames","currName","Error","list","speed","_renderInvalid","main","_renderHeader","_renderMiddle","_renderFooter","_addPluginComponents","invalidInitial","problems","helpContent","_invalidElementsAlert","$middle","middle","_renderList","hoverhighlight","_showAlert","_disableNameAndCreate","isUndefined","$list","_renderClearSelected","$tmp","removeElementView","elementView","_createElementView","invoke","_listenToElementView","addElementView","without","stopListening","_renderNoElementsLeft","noElementsLeft","_elementToJSON","createList","hideOriginals","always","fail","xhr","done","_errorHandler","once","readyState","responseJSON","click .more-help","click .less-help","click .main-help","click .header .alert button","click .reset","click .clear-selected","click .collection-elements","dragover .collection-elements","drop .collection-elements","collection-element.dragstart .collection-elements","collection-element.dragend .collection-elements","change .collection-name","keydown .collection-name","change .hide-originals","click .cancel-create","click .create-collection","clearSelectedElements","_dragoverElements","_checkForAutoscroll","clientY","$nearest","_getNearestElement","$placeholder","$element","y","AUTOSCROLL_SPEED","upperDist","lowerDist","outerHeight","WIGGLE","lis","toArray","$li","halfHeight","floor","_dropElements","dropEffect","insertBefore","insertAfter","last","_syncOrderToDom","newElements","_elementDragstart","_elementDragend","_creatorTemplates","footer","collectionCreatorModal","CreatorClass","closing_events","_collectionCreator","_super","changedAttributes","expanded","_renderNametags","fxSpeed","_renderPrimaryActions","_renderDisplayButton","displayBtnData","urls","addDataset","_renderDetails","noAccess","$details","_renderSecondaryActions","_renderSummary","_renderDetailMessages","_renderDisplayApplications","summaryRenderFn","summaries","unknown","$warnings","detailMessages","templateFn","displayApplications","_renderDownloadButton","_renderShowParamsButton","show_params","hasData","download","_renderMetaFileDownloadButton","meta_file","meta_download","tpl","clone","click .display-btn","click .params-btn","click .download-btn","failed_metadata","detailsTemplate","noAccessTemplate","summaryTemplates","detailMessageTemplates","resubmitted","displayApplicationsTemplate","details","sum","flat_id","flat_dict","result_dict","convert","identifier","head","section_label","block_indices","block_prefix","block_label","pos","test_param","selectedCase","matchCase","flat","collapsible_value","payload","p_id","dict","_iterate","visitInputs","new_id","separator","Array","child","truevalue","falsevalue","cases","prefix","context","cache","app_options","text_enable","text_disable","cls_enable","cls_disable","$field","$preview","$collapsible","$collapsible_text","$collapsible_icon","$error_text","$error","backdrop","help_argument","collapsible_state","SelectContent","SelectLibrary","SelectFtp","ColorPicker","types","password","data_column","genomebuild","data_collection","integer","boolean","drill_down","hidden","hidden_data","baseurl","library_data","ftpfile","fieldClass","_fieldSelect","_fieldText","_fieldData","extensions","flavor","is_workflow","SelectClass","_fieldDrilldown","str_value","_fieldSlider","precise","_fieldHidden","_fieldBoolean","_fieldColor","_fieldLibrary","_fieldFtp","_fieldUpload","button_new","onnew","button_delete","ondel","hideOptions","Repeat","InputElement","Parameters","parameters","_addConditional","_addRepeat","_addSection","_addRow","case_def","section_row","nonhidden","sub_section","_append","sub_section_id","block_index","repeat","n_cache","default","hide_label","text_value","collapsible_preview","argument","fixed","DC_MODEL","HISTORY_CONTENT","buildHDCASave","isNew","hcontentMixin","HistoryContentMixin","ListDC","PairDC","ListPairedDC","ListOfListsDC","HistoryPairDatasetCollection","HistoryListPairedDatasetCollection","HistoryListOfListsDatasetCollection","CONTROLLED_FETCH_COLLECTION","HDA_MODEL","HDCA_MODEL","HISTORY_PREFS","AJAX_QUEUE","PaginatedCollection","HistoryContents","attrs","HistoryDatasetAssociation","msg","validationError","limitPerPage","limitPerProgressiveFetch","historyId","models","setHistoryId","includeDeleted","includeHidden","newId","_setUpWebStorage","initialSettings","storage","HistoryPrefs","historyStorageKey","include-deleted","newVal","include-hidden","comparators","buildComparator","ascending","name-dsc","hid-asc","running","runningAndActive","getByHid","haveDetails","visibleAndUndeleted","setIncludeDeleted","setting","isBoolean","setIncludeHidden","prefs","expandedIds","_buildFetchData","_fetchParams","_buildFetchFilters","superFilters","getTotalItemCount","contentsShown","fetchUpdated","since","update_time-ge","toISOString","fetchDeleted","fetchHidden","fetchAllDetails","detailsFlag","fetchCollectionCounts","_filterAndUpdate","filterParams","updateWhat","updateArgs","fetched","modelArray","currJson","ajaxQueue","ajaxFn","AjaxQueue","reverse","isString","progressivelyFetchDetails","_recursivelyFetch","_options","detailKeys","limit","defer","notify","allFetched","limitPerCall","isCopyable","contentsJSON","copyableModelClasses","isObject","copy","contentType","LibraryDatasetDatasetAssociation","HistoryDatasetCollectionAssociation","elementIdentifiers","collectionType","hdca","hide_source_items","element_identifiers","haveSearchDetails","matches","matchesWhat","SessionStorageModel","show_deleted","show_hidden","addExpanded","removeExpanded","isExpanded","contentId","allExpanded","clearExpanded","storageKeyPrefix","clearAll","sessionStorage","removeItem","ExpandableView","_buildNewRender","_queueNewRender","queue","next","$where","$newDetails","toggleExpanded","_expand","slideDown","slideUp","SelectableViewMixin","DraggableViewMixin","isSelectable","_renderWarnings","_renderTitleBar","showSelector","draggable","draggableOn","click .title-bar","keydown .title-bar","click .selector","_clickTitleBar","altKey","toggleSelect","_keyDownTitleBar","KEYCODE_SPACE","KEYCODE_RETURN","elTemplato","foldoutStyle","foldoutPanelClass","foldout","_createFoldoutPanel","_attachFoldout","FoldoutClass","_getFoldoutPanelClass","$whereTo","_expandByDrilldown","TagsEditor","HiddenUntilActivatedViewMixin","usePrompt","hiddenUntilActivated","$activator","$input","_getTagsUsed","_hashToName","startsWith","_nameToHash","tagsToCSV","tagsArray","added","_addNewTagToTagsUsed","newTag","tagsUsed","FormBase","CitationModel","_buildForm","_buildModel","description","_operations","_footer","hide_message","build_url","build_data","location","error_message","redirect","large","versions_button","narrow","sustain_version","versions","menu_button","biostar_url","open","origin","requirements","requirements_visible","_templateRequirements","sharable_url","menu","_templateHelp","citations","$citations","citation_list_view","$tmpl","nreq","requirements_message","req","requirements_link","util","VisibilityMixin","is_visible","ToolParameter","num_samples","unescape","set_value","ToolParameterCollection","DataToolParameter","IntegerToolParameter","get_samples","d3","scale","linear","domain","ticks","FloatToolParameter","SelectToolParameter","subModelTypes","Tool","p_class","remove_inputs","tool","incompatible_inputs","only_samplable_inputs","valid_inputs","apply_search_results","set_input_value","set_input_values","inputs_dict","input_name","run","_run","rerun","target_dataset","regions","target_dataset_id","get_inputs_dict","input_dict","additional_params","run_deferred","ss_deferred","ToolCollection","ToolSectionLabel","ToolSection","elems","clear_search_results","cur_label","all_hidden","ToolSearch","search_hint_string","min_chars_for_search","clear_btn_url","clear_key","do_search","timer","ga","clear_search","tool_search","tools","layout","parse_elt","elt_dict","panel_elt","BaseView","update_visible","ToolLinkView","tool_link","formStyle","ToolSectionLabelView","ToolSectionView","update_open","panel_section","section_body","tool_view","label_view","click .toolSectionTitle > a","ToolSearchView","keyup :input","change :input","click #search-clear-btn","focus_and_select","query_changed","evData","which","ToolPanelView","handle_search_results","search_view","section_title_view","ToolFormView","tool_form","tool_panel_view","tool_form_view","show_tool","variable","standard","base","theme","$view","$value","_build","$boxes","_templateCheck","hex","x","rgb","_content","line_def","_templateContent","$line","$box","_templateBox","bottom","header_index","_setState","header_id","is_expanded","$subgroup","attach","iterate","level","has_options","new_header","$group","Batch","DISABLED","ENABLED","LINKED","Configurations","data_multiple","workflow_data","workflow_data_multiple","workflow_data_collection","module_data","module_data_collection","src_labels","hda","pagelimit","statustimer","button_product","$batch_div","$batch","linked","lastenter","_handleDrop","_changeCurrent","_changeType","id_list","_batch","$batchfield","batchmode","button_type","config_id","textify","button_data","button_width","margin-left","select_options","items","drop_data","getData","new_src","current_value","_handleDropStatus","map_over_type","List","ftpfile_list","Table","Libraries","LibraryDatasets","library_id","libraries","datasets","library_select","dataset_list","library_current","step","useslider","$slider","slider","ui","pressed","_isParameter","substring","class_add","class_remove","class_partial","onadd","onremove","ftp_files","_fill","_templateTable","_add","bytesToString","$select_all","ftp_file","model_index","_find","_templateInfo","$it","filtered","path","ctime","class_check","class_uncheck","$cover","$table","parameter","$checkbox","has_deferred","charAt","ready","props","uploadpost","cnf","progress","maxfilesize","error_filesize","error_default","error_server","error_login","sizes","XMLHttpRequest","setRequestHeader","onreadystatechange","DONE","responseText","parseJSON","statusText","addEventListener","lengthComputable","loaded","send","uploadinput","opts","ondragover","ondragleave","dialog","uploadbox","queue_running","current_index","queue_index","mode","duplicate","announce","queue_length","queue_stop","complete","stop","configure","compatible","File","FileList","dragleave","m","alert","AnnotationEditor","$annotation","newAnnotation","annotation","previous","ControlledFetchCollection","setOrder","changed-order","_buildFetchOptions","traditional","_fetchFiltersToAjaxData","pick","filterMap","qv","update_time-asc","create_time-asc","comparator","currentPage","shouldPaginate","getLastPage","getPageCount","getPageLimitOffset","pageNum","constrainPageNum","fetchPage","fetchCurrentPage","fetchPrevPage","fetchNextPage","InfinitelyScrollingCollection","limitOnFirstFetch","limitPerFetch","lastFetched","fetchFirst","fetchMore","fetchedData","numFetched","fetchAll","fetchData","_validationWarning","what","VALIDATION_CLASS","_changeHideOriginals","_changeName","_getName","_nameCheckForEnter","_clickCreate","_clickMoreHelp","_clickLessHelp","_toggleHelp","alertClass","_hideAlert","_cancelCreate","instance","$footer","property","selector","LIST_VIEW","DC_LI","ModelListPanel","CollectionView","DatasetDCEViewClass","NestedDCDCEViewClass","modelCollectionKey","panelStack","parentName","panel","_filterCollection","_getItemViewClass","_getItemViewOptions","_setUpItemViewListeners","expanded:drilldown","drilldown","_expandDrilldownPanel","collapsed:drilldown","_collapseDrilldownPanel","click .navigation .back","close","controlsTemplate","controls","ListCollectionView","PairCollectionView","ListOfPairsCollectionView","ListOfListsCollectionView","TAGS","ANNOTATIONS","DatasetListItemEdit","purgeAllowed","tagsEditorShown","annotationEditorShown","actions","_renderEditButton","_renderDeleteButton","editBtnData","edit","deletedAlready","_renderTags","_renderAnnotation","_makeDbkeyEditLink","_renderToolHelpButton","datasetID","jobID","creating_job","parseToolBuild","helpString","parseHTML","parseToolID","unshift","_renderErrButton","_renderRerunButton","_renderVisualizationsButton","report_error","visualizations","$visualizations","_addScratchBookFn","addBack","$links","tagsEditor","onshowFirstTime","onshow","onhide","annotationEditor","editableDbkey","click .undelete-link","click .purge-link","click .edit-btn","click .delete-btn","click .rerun-btn","click .report-err-btn","click .visualization-btn","click .dbkey a","_clickUndeleteLink","_clickPurgeLink","confirm","purge","visualizationsTemplate","searchableMixin","accessible","data_type","meta_files","misc_blurb","misc_info","_generateUrls","visualization","currModel","newState","dataset","responseObj","messageBuriedInUnfortunatelyFormattedError","searchAliases","format","database","blurb","nameAndId","DatasetAssociationCollection","ids","notReady","startingLength","responses","ajaxFns","chain","curr","shift","HDAListItemView","DATASET","DC_VIEW","HDCAListItemView","change:tags change:populated change:visible","isVisible","unhide","HISTORY_CONTENTS","UTILS","History","UPDATE_DELAY","contents_active","contents_states","contentsClass","historyJSON","_setUpCollectionListeners","updateTimeoutId","clearUpdateTimeout","change:id","makeArray","contentsActive","shown","nice_size","ownedByCurrUser","numOfUnfinishedJobs","unfinishedJobIds","numOfUnfinishedShownContents","_fetchContentRelatedAttributes","contentRelatedAttrs","refresh","lastUpdateTime","fetchFn","serverResponseDatetime","getResponseHeader","checkForUpdates","_delayThenUpdate","delay","nonReadyContentCount","historyData","fetchWithContents","contentsOptions","fetchContents","_delete","allDatasets","postData","all_datasets","post","newHistory","setAsCurrent","_collectionSuper","HistoryCollection","currentHistoryId","setUpListeners","change:deleted","copied","original","newData","setCurrent","set-as-current","oldCurrentId","encoded_id-in","size-asc","currentHistory","hdas","historyOptions","xhrOptions","LoadingIndicator","ListPanel","viewClass","emptyMsg","noneFoundMsg","searchPlaceholder","searchFor","selecting","lastSelected","dragItems","views","_createDefaultCollection","$scrollContainer","loading","_showLoadingIndicator","loading-done","_hideLoadingIndicator","_setUpViewListeners","changes","renderAll","removed","renderItems","addItemView","removeItemView","view:selected","shiftKey","lastSelectedView","viewFromModelId","selectRange","showSelectors","view:de-selected","_renderControls","_renderTitle","_renderSearch","$controls","_renderMultiselectActionMenu","multiselectActions","$newMenu","$actions","$messages","$emptyMessage","freeViews","shownModels","itemModel","_createItemView","_attachItems","_renderEmptyMessage","_filterItem","every","matchesAll","ViewClass","_destroyItemView","_destroyItemViews","getSelectedModels","_renderItemView$el","expandAll","collapseAll","modelIndex","_attachView","useFx","_insertIntoListAt","$what","viewFromModel","viewsWhereModel","properties","isMatch","viewRange","viewA","viewB","indexA","indexB","searchInput","initialVal","onfirstsearch","_firstSearch","onsearch","searchItems","onclear","clearSearch","force","$search","THROTTLE_SELECTOR_FX_AT","hideSelectors","hideSelector","toggleSelectors","selectAll","deselectAll","deselect","getSelectedViews","indicator","scrollPosition","scrollTo","scrollToTop","scrollToItem","scrollToId","click .select-all","click .deselect-all","elTemplate","setModel","freeModel","oldModelId","_setUpModelListeners","_errorModal","Ok","DETAILS_MSG","errorModal","offlineErrorModal","badGatewayErrorModal","CONTACT_MSG","ajaxErrorModal","DEFAULT_AJAX_ERR_MSG","_ajaxDetails","raven","Raven","userAgent","navigator","onLine","omit","functions","lastAjax","PopupMenu","_renderAndShow","clickEvent","_getShownPosition","_setUpCloseBehavior","li","check","checked","menuWidth","pageX","document","scrollLeft","closePopup","one","addItem","findIndexByHtml","findItemByHtml","button_element","initial_options","convertedOptions","optionVal","optionKey","newOption","convertLinksToOptions","$parent","elem","linkHref","confirmText","fromExistingDom","$buttonElement","$menuElement","menuElementLinkSelector","make_popup_menus","menuSelector","buttonSelectorBuildFn","popupMenusCreated","fromDom","scope","$this","targetSelector","mouseover","background","mouseout","parentNode","clearSearchInput","searchTerms","firstSearch","inputTemplate","KEYCODE_ESC","escWillClear","minSearchLen","$clearBtn","$loadingIndicator","toggleLoadingIndicator","$parentNode","inputVal","oninit","s","nC","fromCharCode","xN","yN","xD","getTime","yD","oFxNcL","oFyNcL","cLoc","numS","RightPanel","historyOptionsMenu","CurrentHistoryView","$toggleButton","optionsMenu","anonymous","_templateHeader","historyUrl","multiUrl","_templateBody","_templateFooter","click #history-refresh-button","mousedown .footer > .drag","click .footer > .panel-collapse","_clickRefresh","LeftPanel","Tools","_renderWorkflowMenu","handle_minwidth_hint","_templateTool","menu_entry","stored_workflow","encoded_stored_workflow_id","DATASET_LI_EDIT","DCListItemEdit","DCEListItemEdit","DatasetDCEListItemEdit","NestedDCDCEListItemEdit","DC_EDIT","CollectionViewEdit","nameSelector","newName","previousName","ListCollectionViewEdit","PairCollectionViewEdit","NestedPairCollectionViewEdit","ListOfPairsCollectionViewEdit","ListOfListsCollectionViewEdit","levenshteinDistance","autoPairFnBuilder","getRegExps","_regexps","RegExp","createPair","listA","listB","aInBIndex","bInAIndex","_pair","preprocessMatch","regexps","matchTo","possible","bestMatch","score","paired","scoreThreshold","createListOfPairsCollection","pairedCollectionCreatorModal","PairView","currentTarget","opacity","PairedCollectionCreator","DEFAULT_FILTERS","automaticallyPair","strategy","matchPercentage","twoPassAutopairing","initialList","commonFilters","strategies","DEFAULT_STRATEGY","removeExtensions","unpairedPanelHidden","pairedPanelHidden","_dataSetUp","illumina","Rs","simple","lcs","levenshtein","unpaired","_sortInitialList","_ensureIds","autoPair","_sortDatasetList","_splitByFilters","_filter","regexFilters","stringFilter","_addToUnpaired","binSearchSortedIndex","low","hi","mid","compared","autopairSimple","autopairLevenshtein","distance","autopairLCS","_naiveStartingAndEndingLCS","s1","s2","fwdLCS","revLCS","fwd","rev","_createPair","_guessNameForPair","forward","fwdName","revName","lastDotIndex","lastIndexOf","_unpair","unpairAll","pairs","_pairToJSON","ajaxData","_ajaxErrHandler","_renderFilters","_renderUnpaired","_renderPaired","$fwd","$rev","$prd","_renderUnpairedDisplayStr","_renderUnpairedEmpty","_renderPairButton","_renderUnpairedDataset","_adjUnpairedOnScrollbar","_renderUnpairedNotShown","numFiltered","$msg","$unpairedColumns","$firstDataset","ucRight","outerWidth","dsRight","rightDiff","_renderPairedEmpty","pairView",".remove-extensions","_chooseFiltersPopover","filterChoice","val1","val2","$popoverContent","filterSet","popover","splitView","msgClass","hideUnpaired","click .forward-column .column-title","click .reverse-column .column-title","click .unpair-all-link","change .forward-unpaired-filter input","focus .forward-unpaired-filter input","click .autopair-link","click .choose-filters .filter-choice","click .clear-filters-link","change .reverse-unpaired-filter input","focus .reverse-unpaired-filter input","click .forward-column .dataset.unpaired","click .reverse-column .dataset.unpaired","click .paired-column .dataset.unpaired","click .unpaired-columns","mousedown .unpaired-columns .dataset","click .paired-column-title","mousedown .flexible-partition-drag","click .paired-columns .dataset.paired","click .paired-columns","click .paired-columns .pair-name","click .unpair-btn","dragover .paired-columns .column-datasets","drop .paired-columns .column-datasets","pair.dragstart .paired-columns .column-datasets","pair.dragend .paired-columns .column-datasets","change .remove-extensions","toggleExtensions","_clickShowOnlyUnpaired","hidePaired","_clickShowOnlyPaired","_clickUnpairAll","_clickAutopair","_clickFilterChoice","$selected","_hideChooseFilters","_clearFilters","_clickUnpairedDataset","toggleSelectUnpaired","$dataset","waitToPair","pairAllSelected","fwds","revs","clearSelectedUnpaired","_mousedownUnpaired","$startTarget","moveListener","_clickPairRow","rowIndex","_startPartitionDrag","endDrag","unbind","trackMouse","startingY","adjPartition","mousemove","adj","$unpaired","$paired","unpairedHi","pairedHi","movingUpwards","flex","selectPair","clearSelectedPaired","_clickPairName","$name","$pair","customizedName","_clickUnpair","pairIndex","_dragoverPairedColumns","_getNearestPairedDatasetLi","_dropPairedColumns","_syncPairsToDom","newPaired","_pairDragstart","_pairDragend","_printList","_printPair","LIST_CREATOR","createPairCollection","pairCollectionCreatorModal","PairedDatasetCollectionElementView","PairCollectionCreator","_createForwardElementView","_createReverseElementView","swap","click .swap","MODAL","ERROR_MODAL","CopyDialog","defaultName","submitLabel","errorMessage","progressive","activeLabel","allLabel","anonWarning","_showAjaxIndicator","margin-top","checkNameAndCopy","copyAllDatasets","rejectWith","autoClose","defaultCopyNameFn","nameFn","defaultCopyName","defaultCopyWhat","allowAll","originalClosingCallback","closing_callback","isAnon","copyWhat","cancelled","ImportDialog","historyCopyDialog","useImport","HDA_LI","HDAListItemEdit","click .unhide-link","HDCA_LI","DC_VIEW_EDIT","HDCAListItemEdit","HISTORY_MODEL","HISTORY_VIEW_EDIT","HistoryViewPrefs","storageKey","HistoryViewEdit","HDCAViewClass","preferences","currentContentId","loadHistory","switchToHistory","createNewHistory","change:nice_size change:size","oldState","_debouncedScrollCaptureHandler","debounce","prependTo","_renderQuotaMessage","quotaMsg","_setCurrentContentById","setCurrentContent","delegateEvents","click .uploader-link","click .get-data-link","$toolMenu","galaxy","galaxy_main:load","pathToMatch","fullpath","hdaId","useToURLRegexMap","regex","use","center-panel:load","showQuotaMessage","hideQuotaMessage","isOverQuota","clearMessages","$target","not","unhideHidden","deleteHidden","quotaMsgTemplate","HISTORY_VIEW","HDA_LI_EDIT","HDCA_LI_EDIT","LIST_COLLECTION_CREATOR","PAIR_COLLECTION_CREATOR","LIST_OF_PAIRS_COLLECTION_CREATOR","HistoryView","HDAViewClass","droptarget:drop","dataDropped","dropTargetOff","view:attached view:removed","_renderCounts","search:loading-progress","_renderSearchProgress","search:searching","_renderSearchFindings","updateHistoryDiskSize","_handleItemDeletedChange","change:visible","_handleItemVisibleChange","change:purged","fetching-deleted","fetching-hidden","fetching-deleted-done fetching-hidden-done","counts","toggleHDATagEditors","toggleHDAAnnotationEditors","_collectionActions","buildCollection","selection","createFunc","_handleItemDeletion","_handleItemUndeletion","_handleItemHidden","_handleItemUnhidden","showOrHide","click .show-selectors-btn","click .toggle-deleted-link","toggleShowDeleted","click .toggle-hidden-link","toggleShowHidden","dropTargetOn","dropTarget","dropHandlers","dragenter","$dropTarget","_renderDropTarget","_renderDropTargetHelp","evName","_dropHandlers","dropTargetToggle","countsTemplate","USER","FETCH_COLLECTION_COUNTS_DELAY","errorHandler","views:ready view:attached view:removed","_renderSelectButton","view:attached","fetching-more","_toggleContentsLoadingIndicator","fetching-more-done","$indicator","$existing","$emptyMsg","_renderPagination","_renderSomeItems","$paginationControls","pagination","click > .controls .prev","click > .controls .next","change > .controls .pages","click .messages [class$=message]","_clickPrevPage","_clickNextPage","_changePageSelect","store","inputSelector","scrollToHid","ordinalIndicator","numStr","mainTemplate","paginationTemplate","buildMenu","menuOption","anon","galaxy_main","user_action","async","webhooks","webhooks_menu","webhook","activate","$nav","_remove","_change","_reset","showTab","hideTab","tab_model","_template_tab","$href","UploadModel","UploadSettings","Popover","status_classes","init","queued","$mode","$size","$info_text","$info_progress","$text_content","$symbol","$percentage","settings","select_genome","select_extension","_removeRow","_refreshPercentage","_refreshStatus","_refreshInfo","_refreshFileSize","_showSettings","UploadRow","UploadFtp","upload_size","list_extensions","list_genomes","ui_button","currentFtp","btnLocal","btnFtp","_eventFtp","btnCreate","_eventCreate","btnStart","_eventStart","btnBuild","_eventBuild","btnStop","_eventStop","btnReset","_eventReset","btnClose","_eventAnnounce","toData","_eventProgress","_eventSuccess","_eventError","_eventComplete","ftp","ext","composite_files","updateExtension","select_collection","updateCollectionType","showExtensionInfo","updateGenome","_eventRemove","_updateScreen","upload_row","it","_uploadPercentage","hids","pluck","upload_completed","allHids","extension_popup","_templateDescription","defaults_only","enable_reset","enable_start","enable_build","enable_sources","show_table","tmpl","description_url","$source","$settings","$status","$file_name","$file_desc","$file_size","_refreshReady","button_menu","_showFtp","_refreshFileName","_refreshMode","offsetHeight","file_desc","_showExtensionInfo","_refreshGenome","_refreshExtension","Tabs","UploadButton","UploadViewDefault","UploadViewComposite","UploadViewCollection","auto","datatypes","a_text","b_text","datatypes_disable_auto","genomes","current_user","tabs","default_view","composite_view","collection_view","title_separator","Form","installed_builds","table","$installed","$form","$help","_renderTable","initial_type","_renderHelp","len_type","_templateFasta","_templateLen","information","submit_title","communication","permissions","api_key","submit_icon","toolbox_filters","openids","custom_builds","logout","Sign out","$preferences","email","use_remote_user","_addLink","enable_communication_server","has_user_tool_filters","enable_openid","$row","_templateLink","$a","nice_total_disk_usage","enable_quotas","quota","submit_tooltip","_submit","cover","z-index","background-color","text-align","margin","font-style","initialFunctions","numToProcess","NamedAjaxQueue","names","fnIndex","causeFail","obj","matrix"],"mappings":"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,aAAc,MACd,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,MACd,YAAa,MACb,SAAU,MACV,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,MACd,YAAa,MACb,YAAa,MACb,gBAAiB,MACjB,QAAS,MACT,YAAa,MACb,YAAa,MACb,aAAc,MACd,YAAa,MACb,YAAa,MACb,SAAU,MACV,SAAU,MACV,YAAa,MACb,YAAa,MACb,aAAc,MACd,YAAa,MACb,YAAa,MACb,SAAU,MACV,SAAU,MACV,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,MACd,YAAa,MACb,cAAe,MACf,cAAe,MACf,eAAgB,MAChB,cAAe,MACf,SAAU,MACV,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,MACd,YAAa,MACb,YAAa,MACb,UAAW,MACX,QAAS,MACT,YAAa,MACb,YAAa,MACb,aAAc,MACd,YAAa,MACb,YAAa,MACb,SAAU,MACV,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,MACd,aAAc,MACd,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,SAAU,MACV,SAAU,MACV,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,MACd,aAAc,MACd,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,MACd,aAAc,MACd,YAAa,MACb,YAAa,MACb,cAAe,MACf,YAAa,MACb,cAAe,MACf,YAAa,MACb,cAAe,MACf,YAAa,MACb,YAAa,MACb,YAAa,MACb,QAAS,MACT,aAAc,MACd,eAAgB,MAChB,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,QAAS,MACT,QAAS,MACT,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YA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CjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,iBAAkB,MAClB,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","file":"analysis.bundled.js","sourcesContent":["webpackJsonp([3,1],[\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(_, Backbone) {\n\tvar jQuery = __webpack_require__(1),\n\t $ = jQuery,\n\t GalaxyApp = __webpack_require__(61).GalaxyApp,\n\t QUERY_STRING = __webpack_require__(59),\n\t PANEL = __webpack_require__(10),\n\t ToolPanel = __webpack_require__(93),\n\t HistoryPanel = __webpack_require__(92),\n\t PAGE = __webpack_require__(63),\n\t ToolForm = __webpack_require__(26),\n\t UserPreferences = __webpack_require__(130);\n\tCustomBuilds = __webpack_require__(129);\n\tTours = __webpack_require__(82);\n\t\n\t/** define the 'Analyze Data'/analysis/main/home page for Galaxy\n\t * * has a masthead\n\t * * a left tool menu to allow the user to load tools in the center panel\n\t * * a right history menu that shows the user's current data\n\t * * a center panel\n\t * Both panels (generally) persist while the center panel shows any\n\t * UI needed for the current step of an analysis, like:\n\t * * tool forms to set tool parameters,\n\t * * tables showing the contents of datasets\n\t * * etc.\n\t */\n\twindow.app = function app(options, bootstrapped) {\n\t window.Galaxy = new GalaxyApp(options, bootstrapped);\n\t Galaxy.debug('analysis app');\n\t // TODO: use router as App base (combining with Galaxy)\n\t\n\t // .................................................... panels and page\n\t var config = options.config,\n\t toolPanel = new ToolPanel({\n\t el: '#left',\n\t userIsAnonymous: Galaxy.user.isAnonymous(),\n\t toolbox: config.toolbox,\n\t toolbox_in_panel: config.toolbox_in_panel,\n\t stored_workflow_menu_entries: config.stored_workflow_menu_entries,\n\t nginx_upload_path: config.nginx_upload_path,\n\t ftp_upload_site: config.ftp_upload_site,\n\t default_genome: config.default_genome,\n\t default_extension: config.default_extension\n\t }),\n\t centerPanel = new PANEL.CenterPanel({\n\t el: '#center'\n\t }),\n\t historyPanel = new HistoryPanel({\n\t el: '#right',\n\t galaxyRoot: Galaxy.root,\n\t userIsAnonymous: Galaxy.user.isAnonymous(),\n\t allow_user_dataset_purge: config.allow_user_dataset_purge\n\t }),\n\t analysisPage = new PAGE.PageLayoutView(_.extend(options, {\n\t el: 'body',\n\t left: toolPanel,\n\t center: centerPanel,\n\t right: historyPanel\n\t }));\n\t\n\t // .................................................... decorate the galaxy object\n\t // TODO: most of this is becoming unnecessary as we move to apps\n\t Galaxy.page = analysisPage;\n\t Galaxy.params = Galaxy.config.params;\n\t\n\t // add tool panel to Galaxy object\n\t Galaxy.toolPanel = toolPanel.tool_panel;\n\t Galaxy.upload = toolPanel.uploadButton;\n\t\n\t Galaxy.currHistoryPanel = historyPanel.historyView;\n\t Galaxy.currHistoryPanel.listenToGalaxy(Galaxy);\n\t\n\t var routingMessage = Backbone.View.extend({\n\t initialize: function (options) {\n\t this.message = options.message || \"Undefined Message\";\n\t this.msg_status = options.type || 'info';\n\t this.render();\n\t },\n\t render: function () {\n\t this.$el.html(_.escape(this.message)).addClass(this.msg_status + \"message\");\n\t }\n\t });\n\t\n\t // .................................................... routes\n\t /** */\n\t Galaxy.router = new (Backbone.Router.extend({\n\t // TODO: not many client routes at this point - fill and remove from server.\n\t // since we're at root here, this may be the last to be routed entirely on the client.\n\t initialize: function (options) {\n\t this.options = options;\n\t },\n\t\n\t /** helper to push a new navigation state */\n\t push: function (url, data) {\n\t data = data || {};\n\t data.__identifer = Math.random().toString(36).substr(2);\n\t if (!$.isEmptyObject(data)) {\n\t url += url.indexOf('?') == -1 ? '?' : '&';\n\t url += $.param(data, true);\n\t }\n\t this.navigate(url, { 'trigger': true });\n\t },\n\t\n\t /** override to parse query string into obj and send to each route */\n\t execute: function (callback, args, name) {\n\t Galaxy.debug('router execute:', callback, args, name);\n\t var queryObj = QUERY_STRING.parse(args.pop());\n\t args.push(queryObj);\n\t if (callback) {\n\t if (this.authenticate(args, name)) {\n\t callback.apply(this, args);\n\t } else {\n\t this.loginRequired();\n\t }\n\t }\n\t },\n\t\n\t routes: {\n\t '(/)': 'home',\n\t '(/)root*': 'home',\n\t '(/)tours(/)(:tour_id)': 'show_tours',\n\t '(/)user(/)': 'show_user',\n\t '(/)user(/)(:form_id)': 'show_user_form',\n\t '(/)custom_builds': 'show_custom_builds'\n\t },\n\t\n\t require_login: ['show_user', 'show_user_form'],\n\t\n\t loginRequired: function () {\n\t centerPanel.display(new routingMessage({ type: 'error', message: \"You must be logged in to make this request.\" }));\n\t },\n\t\n\t authenticate: function (args, name) {\n\t return Galaxy.user && Galaxy.user.id || this.require_login.indexOf(name) == -1;\n\t },\n\t\n\t show_tours: function (tour_id) {\n\t if (tour_id) {\n\t Tours.giveTour(tour_id);\n\t } else {\n\t centerPanel.display(new Tours.ToursView());\n\t }\n\t },\n\t\n\t show_user: function () {\n\t centerPanel.display(new UserPreferences.View());\n\t },\n\t\n\t show_user_form: function (form_id) {\n\t centerPanel.display(new UserPreferences.Forms({ form_id: form_id, user_id: Galaxy.params.id }));\n\t },\n\t\n\t show_custom_builds: function () {\n\t var self = this;\n\t if (!Galaxy.currHistoryPanel || !Galaxy.currHistoryPanel.model || !Galaxy.currHistoryPanel.model.id) {\n\t window.setTimeout(function () {\n\t self.show_custom_builds();\n\t }, 500);\n\t return;\n\t }\n\t centerPanel.display(new CustomBuilds.View());\n\t },\n\t\n\t /** */\n\t home: function (params) {\n\t // TODO: to router, remove Globals\n\t // load a tool by id (tool_id) or rerun a previous tool execution (job_id)\n\t if (params.tool_id || params.job_id) {\n\t if (params.tool_id === 'upload1') {\n\t Galaxy.upload.show();\n\t this._loadCenterIframe('welcome');\n\t } else {\n\t this._loadToolForm(params);\n\t }\n\t } else {\n\t // show the workflow run form\n\t if (params.workflow_id) {\n\t this._loadCenterIframe('workflow/run?id=' + params.workflow_id);\n\t // load the center iframe with controller.action: galaxy.org/?m_c=history&m_a=list -> history/list\n\t } else if (params.m_c) {\n\t this._loadCenterIframe(params.m_c + '/' + params.m_a);\n\t // show the workflow run form\n\t } else {\n\t this._loadCenterIframe('welcome');\n\t }\n\t }\n\t },\n\t\n\t /** load the center panel with a tool form described by the given params obj */\n\t _loadToolForm: function (params) {\n\t //TODO: load tool form code async\n\t params.id = params.tool_id;\n\t centerPanel.display(new ToolForm.View(params));\n\t },\n\t\n\t /** load the center panel iframe using the given url */\n\t _loadCenterIframe: function (url, root) {\n\t root = root || Galaxy.root;\n\t url = root + url;\n\t centerPanel.$('#galaxy_main').prop('src', url);\n\t }\n\t\n\t }))(options);\n\t\n\t // .................................................... when the page is ready\n\t // render and start the router\n\t $(function () {\n\t analysisPage.render();\n\t analysisPage.right.historyView.loadCurrentHistory();\n\t\n\t // use galaxy to listen to history size changes and then re-fetch the user's total size (to update the quota meter)\n\t // TODO: we have to do this here (and after every page.render()) because the masthead is re-created on each\n\t // page render. It's re-created each time because there is no render function and can't be re-rendered without\n\t // re-creating it.\n\t Galaxy.listenTo(analysisPage.right.historyView, 'history-size-change', function () {\n\t // fetch to update the quota meter adding 'current' for any anon-user's id\n\t Galaxy.user.fetch({ url: Galaxy.user.urlRoot() + '/' + (Galaxy.user.id || 'current') });\n\t });\n\t analysisPage.right.historyView.connectToQuotaMeter(analysisPage.masthead.quotaMeter);\n\t\n\t // start the router - which will call any of the routes above\n\t Backbone.history.start({\n\t root: Galaxy.root,\n\t pushState: true\n\t });\n\t });\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2), __webpack_require__(3)))\n\n/***/ },\n/* 1 */,\n/* 2 */,\n/* 3 */,\n/* 4 */,\n/* 5 */,\n/* 6 */,\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(Backbone, $, _) {/**\n\t * This class contains backbone wrappers for basic ui elements such as Images, Labels, Buttons, Input fields etc.\n\t */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(4), __webpack_require__(24), __webpack_require__(54), __webpack_require__(23), __webpack_require__(50), __webpack_require__(13), __webpack_require__(8)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Utils, Select, Slider, Options, Drilldown, Buttons, Modal) {\n\t\n\t /** Label wrapper */\n\t var Label = Backbone.View.extend({\n\t tagName: 'label',\n\t initialize: function (options) {\n\t this.model = options && options.model || new Backbone.Model(options);\n\t this.tagName = options.tagName || this.tagName;\n\t this.setElement($('<' + this.tagName + '/>'));\n\t this.listenTo(this.model, 'change', this.render, this);\n\t this.render();\n\t },\n\t title: function (new_title) {\n\t this.model.set('title', new_title);\n\t },\n\t value: function () {\n\t return this.model.get('title');\n\t },\n\t render: function () {\n\t this.$el.removeClass().addClass('ui-label').addClass(this.model.get('cls')).html(this.model.get('title'));\n\t return this;\n\t }\n\t });\n\t\n\t /** Displays messages used e.g. in the tool form */\n\t var Message = Backbone.View.extend({\n\t initialize: function (options) {\n\t this.model = options && options.model || new Backbone.Model({\n\t message: null,\n\t status: 'info',\n\t cls: '',\n\t persistent: false,\n\t fade: true\n\t }).set(options);\n\t this.listenTo(this.model, 'change', this.render, this);\n\t this.render();\n\t },\n\t update: function (options) {\n\t this.model.set(options);\n\t },\n\t render: function () {\n\t this.$el.removeClass().addClass('ui-message').addClass(this.model.get('cls'));\n\t var status = this.model.get('status');\n\t if (this.model.get('large')) {\n\t this.$el.addClass((status == 'success' && 'done' || status == 'danger' && 'error' || status) + 'messagelarge');\n\t } else {\n\t this.$el.addClass('alert').addClass('alert-' + status);\n\t }\n\t if (this.model.get('message')) {\n\t this.$el.html(this.messageForDisplay());\n\t this.$el[this.model.get('fade') ? 'fadeIn' : 'show']();\n\t this.timeout && window.clearTimeout(this.timeout);\n\t if (!this.model.get('persistent')) {\n\t var self = this;\n\t this.timeout = window.setTimeout(function () {\n\t self.model.set('message', '');\n\t }, 3000);\n\t }\n\t } else {\n\t this.$el.fadeOut();\n\t }\n\t return this;\n\t },\n\t messageForDisplay: function () {\n\t return _.escape(this.model.get('message'));\n\t }\n\t });\n\t\n\t var UnescapedMessage = Message.extend({\n\t messageForDisplay: function () {\n\t return this.model.get('message');\n\t }\n\t });\n\t\n\t /** Renders an input element used e.g. in the tool form */\n\t var Input = Backbone.View.extend({\n\t initialize: function (options) {\n\t this.model = options && options.model || new Backbone.Model({\n\t type: 'text',\n\t placeholder: '',\n\t disabled: false,\n\t readonly: false,\n\t visible: true,\n\t cls: '',\n\t area: false,\n\t color: null,\n\t style: null\n\t }).set(options);\n\t this.tagName = this.model.get('area') ? 'textarea' : 'input';\n\t this.setElement($('<' + this.tagName + '/>'));\n\t this.listenTo(this.model, 'change', this.render, this);\n\t this.render();\n\t },\n\t events: {\n\t 'input': '_onchange'\n\t },\n\t value: function (new_val) {\n\t new_val !== undefined && this.model.set('value', typeof new_val === 'string' ? new_val : '');\n\t return this.model.get('value');\n\t },\n\t render: function () {\n\t var self = this;\n\t this.$el.removeClass().addClass('ui-' + this.tagName).addClass(this.model.get('cls')).addClass(this.model.get('style')).attr('id', this.model.id).attr('type', this.model.get('type')).attr('placeholder', this.model.get('placeholder')).css('color', this.model.get('color') || '').css('border-color', this.model.get('color') || '');\n\t var datalist = this.model.get('datalist');\n\t if ($.isArray(datalist) && datalist.length > 0) {\n\t this.$el.autocomplete({ source: function (request, response) {\n\t response(self.model.get('datalist'));\n\t },\n\t change: function () {\n\t self._onchange();\n\t } });\n\t }\n\t if (this.model.get('value') !== this.$el.val()) {\n\t this.$el.val(this.model.get('value'));\n\t }\n\t _.each(['readonly', 'disabled'], function (attr_name) {\n\t self.model.get(attr_name) ? self.$el.attr(attr_name, true) : self.$el.removeAttr(attr_name);\n\t });\n\t this.$el[this.model.get('visible') ? 'show' : 'hide']();\n\t return this;\n\t },\n\t _onchange: function () {\n\t this.value(this.$el.val());\n\t this.model.get('onchange') && this.model.get('onchange')(this.model.get('value'));\n\t }\n\t });\n\t\n\t /** Creates a hidden element input field used e.g. in the tool form */\n\t var Hidden = Backbone.View.extend({\n\t initialize: function (options) {\n\t this.model = options && options.model || new Backbone.Model(options);\n\t this.setElement($('
').append(this.$info = $('')).append(this.$hidden = $('')));\n\t this.listenTo(this.model, 'change', this.render, this);\n\t this.render();\n\t },\n\t value: function (new_val) {\n\t new_val !== undefined && this.model.set('value', new_val);\n\t return this.model.get('value');\n\t },\n\t render: function () {\n\t this.$el.attr('id', this.model.id);\n\t this.$hidden.val(this.model.get('value'));\n\t this.model.get('info') ? this.$info.show().text(this.model.get('info')) : this.$info.hide();\n\t return this;\n\t }\n\t });\n\t\n\t /** Creates a upload element input field */\n\t var Upload = Backbone.View.extend({\n\t initialize: function (options) {\n\t var self = this;\n\t this.model = options && options.model || new Backbone.Model(options);\n\t this.setElement($('').append(this.$info = $('')).append(this.$file = $('').attr('type', 'file').addClass('ui-margin-bottom')).append(this.$text = $('').addClass('ui-textarea').attr('disabled', true)).append(this.$wait = $('').addClass('fa fa-spinner fa-spin')));\n\t this.listenTo(this.model, 'change', this.render, this);\n\t this.$file.on('change', function (e) {\n\t self._readFile(e);\n\t });\n\t this.render();\n\t },\n\t value: function (new_val) {\n\t new_val !== undefined && this.model.set('value', new_val);\n\t return this.model.get('value');\n\t },\n\t render: function () {\n\t this.$el.attr('id', this.model.id);\n\t this.model.get('info') ? this.$info.show().text(this.model.get('info')) : this.$info.hide();\n\t this.model.get('value') ? this.$text.text(this.model.get('value')).show() : this.$text.hide();\n\t this.model.get('wait') ? this.$wait.show() : this.$wait.hide();\n\t return this;\n\t },\n\t _readFile: function (e) {\n\t var self = this;\n\t var file = e.target.files && e.target.files[0];\n\t if (file) {\n\t var reader = new FileReader();\n\t reader.onload = function () {\n\t self.model.set({ wait: false, value: this.result });\n\t };\n\t this.model.set({ wait: true, value: null });\n\t reader.readAsText(file);\n\t }\n\t }\n\t });\n\t\n\t return {\n\t Button: Buttons.ButtonDefault,\n\t ButtonIcon: Buttons.ButtonIcon,\n\t ButtonCheck: Buttons.ButtonCheck,\n\t ButtonMenu: Buttons.ButtonMenu,\n\t ButtonLink: Buttons.ButtonLink,\n\t Input: Input,\n\t Label: Label,\n\t Message: Message,\n\t UnescapedMessage: UnescapedMessage,\n\t Upload: Upload,\n\t Modal: Modal,\n\t RadioButton: Options.RadioButton,\n\t Checkbox: Options.Checkbox,\n\t Radio: Options.Radio,\n\t Select: Select,\n\t Hidden: Hidden,\n\t Slider: Slider,\n\t Drilldown: Drilldown\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(1), __webpack_require__(2)))\n\n/***/ },\n/* 8 */,\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(Backbone, _, $) {!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(4), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Utils, Ui) {\n\t var View = Backbone.View.extend({\n\t visible: false,\n\t initialize: function (options) {\n\t var self = this;\n\t this.model = options && options.model || new Backbone.Model({\n\t id: Utils.uid(),\n\t cls: 'ui-portlet',\n\t title: '',\n\t icon: '',\n\t buttons: null,\n\t body: null,\n\t scrollable: true,\n\t nopadding: false,\n\t operations: null,\n\t collapsible: false,\n\t collapsible_button: false,\n\t collapsed: false,\n\t onchange_title: null\n\t }).set(options);\n\t this.setElement(this._template());\n\t\n\t // link all dom elements\n\t this.$body = this.$('.portlet-body');\n\t this.$title_text = this.$('.portlet-title-text');\n\t this.$title_icon = this.$('.portlet-title-icon');\n\t this.$header = this.$('.portlet-header');\n\t this.$content = this.$('.portlet-content');\n\t this.$backdrop = this.$('.portlet-backdrop');\n\t this.$buttons = this.$('.portlet-buttons');\n\t this.$operations = this.$('.portlet-operations');\n\t\n\t // add body to component list\n\t this.model.get('body') && this.append(this.model.get('body'));\n\t\n\t // add icon for collapsible option\n\t this.collapsible_button = new Ui.ButtonIcon({\n\t icon: 'fa-eye',\n\t tooltip: 'Collapse/Expand',\n\t cls: 'ui-button-icon-plain',\n\t onclick: function () {\n\t self[self.collapsed ? 'expand' : 'collapse']();\n\t }\n\t });\n\t this.render();\n\t },\n\t\n\t render: function () {\n\t var self = this;\n\t var options = this.model.attributes;\n\t this.$el.removeClass().addClass(options.cls).attr('id', options.id);\n\t this.$header[options.title ? 'show' : 'hide']();\n\t this.$title_text.html(options.title);\n\t _.each([this.$content, this.$body], function ($el) {\n\t $el[options.nopadding ? 'addClass' : 'removeClass']('no-padding');\n\t });\n\t\n\t // render title icon\n\t if (options.icon) {\n\t this.$title_icon.removeClass().addClass('portlet-title-icon fa').addClass(options.icon).show();\n\t } else {\n\t this.$title_icon.hide();\n\t }\n\t\n\t // make portlet collapsible\n\t this.$title_text[options.collapsible ? 'addClass' : 'removeClass']('no-highlight collapsible').off();\n\t if (options.collapsible) {\n\t this.$title_text.on('click', function () {\n\t self[self.collapsed ? 'expand' : 'collapse']();\n\t });\n\t options.collapsed ? this.collapse() : this.expand();\n\t }\n\t\n\t // allow title editing\n\t this.$title_text.prop('disabled', !options.onchange_title);\n\t options.onchange_title && this.$title_text.make_text_editable({\n\t on_finish: function (new_title) {\n\t options.onchange_title(new_title);\n\t }\n\t });\n\t\n\t // render buttons\n\t if (options.buttons) {\n\t this.$buttons.empty().show();\n\t $.each(this.model.get('buttons'), function (name, item) {\n\t item.$el.prop('id', name);\n\t self.$buttons.append(item.$el);\n\t });\n\t } else {\n\t this.$buttons.hide();\n\t }\n\t\n\t // render operations\n\t this.$operations.empty;\n\t if (options.collapsible_button) {\n\t this.$operations.append(this.collapsible_button.$el);\n\t }\n\t if (options.operations) {\n\t $.each(options.operations, function (name, item) {\n\t item.$el.prop('id', name);\n\t self.$operations.append(item.$el);\n\t });\n\t }\n\t return this;\n\t },\n\t\n\t /** Append new doms to body */\n\t append: function ($el) {\n\t this.$body.append($el);\n\t },\n\t\n\t /** Remove all content */\n\t empty: function () {\n\t this.$body.empty();\n\t },\n\t\n\t /** Return header element */\n\t header: function () {\n\t return this.$header;\n\t },\n\t\n\t /** Return body element */\n\t body: function () {\n\t return this.$body;\n\t },\n\t\n\t /** Show portlet */\n\t show: function () {\n\t this.visible = true;\n\t this.$el.fadeIn('fast');\n\t },\n\t\n\t /** Hide portlet */\n\t hide: function () {\n\t this.visible = false;\n\t this.$el.hide();\n\t },\n\t\n\t /** Enable a particular button */\n\t enableButton: function (id) {\n\t this.$buttons.find('#' + id).prop('disabled', false);\n\t },\n\t\n\t /** Disable a particular button */\n\t disableButton: function (id) {\n\t this.$buttons.find('#' + id).prop('disabled', true);\n\t },\n\t\n\t /** Hide a particular operation */\n\t hideOperation: function (id) {\n\t this.$operations.find('#' + id).hide();\n\t },\n\t\n\t /** Show a particular operation */\n\t showOperation: function (id) {\n\t this.$operations.find('#' + id).show();\n\t },\n\t\n\t /** Replaces the event callback of an existing operation */\n\t setOperation: function (id, callback) {\n\t this.$operations.find('#' + id).off('click').on('click', callback);\n\t },\n\t\n\t /** Change title */\n\t title: function (new_title) {\n\t new_title && this.$title_text.html(new_title);\n\t return this.$title_text.html();\n\t },\n\t\n\t /** Collapse portlet */\n\t collapse: function () {\n\t this.collapsed = true;\n\t this.$content.height('0%');\n\t this.$body.hide();\n\t this.collapsible_button.setIcon('fa-eye-slash');\n\t },\n\t\n\t /** Expand portlet */\n\t expand: function () {\n\t this.collapsed = false;\n\t this.$content.height('100%');\n\t this.$body.fadeIn('fast');\n\t this.collapsible_button.setIcon('fa-eye');\n\t },\n\t\n\t /** Disable content access */\n\t disable: function () {\n\t this.$backdrop.show();\n\t },\n\t\n\t /** Enable content access */\n\t enable: function () {\n\t this.$backdrop.hide();\n\t },\n\t\n\t _template: function () {\n\t return $('').append($('').addClass('portlet-header').append($('').addClass('portlet-operations')).append($('').addClass('portlet-title').append($('').addClass('portlet-title-icon')).append($('').addClass('portlet-title-text')))).append($('').addClass('portlet-content').append($('').addClass('portlet-body')).append($('').addClass('portlet-buttons'))).append($('').addClass('portlet-backdrop'));\n\t }\n\t });\n\t return {\n\t View: View\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(2), __webpack_require__(1)))\n\n/***/ },\n/* 10 */,\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(Backbone, _, $) {// Additional dependencies: jQuery, underscore.\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(8), __webpack_require__(27), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Modal, Frames, mod_icon_btn) {\n\t\n\t /**\n\t * Dataset metedata.\n\t */\n\t var DatasetMetadata = Backbone.Model.extend({});\n\t\n\t /**\n\t * A dataset. In Galaxy, datasets are associated with a history, so\n\t * this object is also known as a HistoryDatasetAssociation.\n\t */\n\t var Dataset = Backbone.Model.extend({\n\t defaults: {\n\t id: '',\n\t type: '',\n\t name: '',\n\t hda_ldda: 'hda',\n\t metadata: null\n\t },\n\t\n\t initialize: function () {\n\t // Metadata can be passed in as a model or a set of attributes; if it's\n\t // already a model, there's no need to set metadata.\n\t if (!this.get('metadata')) {\n\t this._set_metadata();\n\t }\n\t\n\t // Update metadata on change.\n\t this.on('change', this._set_metadata, this);\n\t },\n\t\n\t _set_metadata: function () {\n\t var metadata = new DatasetMetadata();\n\t\n\t // Move metadata from dataset attributes to metadata object.\n\t _.each(_.keys(this.attributes), function (k) {\n\t if (k.indexOf('metadata_') === 0) {\n\t // Found metadata.\n\t var new_key = k.split('metadata_')[1];\n\t metadata.set(new_key, this.attributes[k]);\n\t delete this.attributes[k];\n\t }\n\t }, this);\n\t\n\t // Because this is an internal change, silence it.\n\t this.set('metadata', metadata, { 'silent': true });\n\t },\n\t\n\t /**\n\t * Returns dataset metadata for a given attribute.\n\t */\n\t get_metadata: function (attribute) {\n\t return this.attributes.metadata.get(attribute);\n\t },\n\t\n\t urlRoot: Galaxy.root + \"api/datasets\"\n\t });\n\t\n\t /**\n\t * A tabular dataset. This object extends dataset to provide incremental chunked data.\n\t */\n\t var TabularDataset = Dataset.extend({\n\t defaults: _.extend({}, Dataset.prototype.defaults, {\n\t chunk_url: null,\n\t first_data_chunk: null,\n\t offset: 0,\n\t at_eof: false\n\t }),\n\t\n\t initialize: function (options) {\n\t Dataset.prototype.initialize.call(this);\n\t\n\t // If first data chunk is available, next chunk is 1.\n\t if (this.attributes.first_data_chunk) {\n\t this.attributes.offset = this.attributes.first_data_chunk.offset;\n\t }\n\t this.attributes.chunk_url = Galaxy.root + 'dataset/display?dataset_id=' + this.id;\n\t this.attributes.url_viz = Galaxy.root + 'visualization';\n\t },\n\t\n\t /**\n\t * Returns a jQuery Deferred object that resolves to the next data chunk or null if at EOF.\n\t */\n\t get_next_chunk: function () {\n\t // If already at end of file, do nothing.\n\t if (this.attributes.at_eof) {\n\t return null;\n\t }\n\t\n\t // Get next chunk.\n\t var self = this,\n\t next_chunk = $.Deferred();\n\t $.getJSON(this.attributes.chunk_url, {\n\t offset: self.attributes.offset\n\t }).success(function (chunk) {\n\t var rval;\n\t if (chunk.ck_data !== '') {\n\t // Found chunk.\n\t rval = chunk;\n\t self.attributes.offset = chunk.offset;\n\t } else {\n\t // At EOF.\n\t self.attributes.at_eof = true;\n\t rval = null;\n\t }\n\t next_chunk.resolve(rval);\n\t });\n\t\n\t return next_chunk;\n\t }\n\t });\n\t\n\t var DatasetCollection = Backbone.Collection.extend({\n\t model: Dataset\n\t });\n\t\n\t /**\n\t * Provides a base for table-based, dynamic view of a tabular dataset.\n\t * Do not instantiate directly; use either TopLevelTabularDatasetChunkedView\n\t * or EmbeddedTabularDatasetChunkedView.\n\t */\n\t var TabularDatasetChunkedView = Backbone.View.extend({\n\t\n\t /**\n\t * Initialize view and, importantly, set a scroll element.\n\t */\n\t initialize: function (options) {\n\t // Row count for rendering.\n\t this.row_count = 0;\n\t this.loading_chunk = false;\n\t\n\t // load trackster button\n\t new TabularButtonTracksterView({\n\t model: options.model,\n\t $el: this.$el\n\t });\n\t },\n\t\n\t expand_to_container: function () {\n\t if (this.$el.height() < this.scroll_elt.height()) {\n\t this.attempt_to_fetch();\n\t }\n\t },\n\t\n\t attempt_to_fetch: function (func) {\n\t var self = this;\n\t if (!this.loading_chunk && this.scrolled_to_bottom()) {\n\t this.loading_chunk = true;\n\t this.loading_indicator.show();\n\t $.when(self.model.get_next_chunk()).then(function (result) {\n\t if (result) {\n\t self._renderChunk(result);\n\t self.loading_chunk = false;\n\t }\n\t self.loading_indicator.hide();\n\t self.expand_to_container();\n\t });\n\t }\n\t },\n\t\n\t render: function () {\n\t // Add loading indicator.\n\t this.loading_indicator = $('').attr('id', 'loading_indicator');\n\t this.$el.append(this.loading_indicator);\n\t\n\t // Add data table and header.\n\t var data_table = $('\" + this.formattedReference() + \"
\");\n\t return this;\n\t },\n\t formattedReference: function () {\n\t var model = this.model;\n\t var entryType = model.entryType();\n\t var fields = model.fields();\n\t\n\t var ref = \"\";\n\t // Code inspired by...\n\t // https://github.com/vkaravir/bib-publication-list/blob/master/src/bib-publication-list.js\n\t var authorsAndYear = this._asSentence((fields.author ? fields.author : \"\") + (fields.year ? \" (\" + fields.year + \")\" : \"\")) + \" \";\n\t var title = fields.title || \"\";\n\t var pages = fields.pages ? \"pp. \" + fields.pages : \"\";\n\t var address = fields.address;\n\t if (entryType == \"article\") {\n\t var volume = (fields.volume ? fields.volume : \"\") + (fields.number ? \" (\" + fields.number + \")\" : \"\") + (pages ? \", \" + pages : \"\");\n\t ref = authorsAndYear + this._asSentence(title) + (fields.journal ? \"In \" + fields.journal + \", \" : \"\") + this._asSentence(volume) + this._asSentence(fields.address) + \"<\\/em>\";\n\t } else if (entryType == \"inproceedings\" || entryType == \"proceedings\") {\n\t ref = authorsAndYear + this._asSentence(title) + (fields.booktitle ? \"In \" + fields.booktitle + \", \" : \"\") + (pages ? pages : \"\") + (address ? \", \" + address : \"\") + \".<\\/em>\";\n\t } else if (entryType == \"mastersthesis\" || entryType == \"phdthesis\") {\n\t ref = authorsAndYear + this._asSentence(title) + (fields.howpublished ? fields.howpublished + \". \" : \"\") + (fields.note ? fields.note + \".\" : \"\");\n\t } else if (entryType == \"techreport\") {\n\t ref = authorsAndYear + this._asSentence(title) + this._asSentence(fields.institution) + this._asSentence(fields.number) + this._asSentence(fields.type);\n\t } else if (entryType == \"book\" || entryType == \"inbook\" || entryType == \"incollection\") {\n\t ref = authorsAndYear + \" \" + this._formatBookInfo(fields);\n\t } else {\n\t ref = authorsAndYear + \" \" + this._asSentence(title) + this._asSentence(fields.howpublished) + this._asSentence(fields.note);\n\t }\n\t var doiUrl = \"\";\n\t if (fields.doi) {\n\t doiUrl = 'http://dx.doi.org/' + fields.doi;\n\t ref += '[doi:' + fields.doi + \"]\";\n\t }\n\t var url = fields.url || doiUrl;\n\t if (url) {\n\t ref += '[Link]';\n\t }\n\t return ref;\n\t },\n\t _formatBookInfo: function (fields) {\n\t var info = \"\";\n\t if (fields.chapter) {\n\t info += fields.chapter + \" in \";\n\t }\n\t if (fields.title) {\n\t info += \"\" + fields.title + \"<\\/em>\";\n\t }\n\t if (fields.editor) {\n\t info += \", Edited by \" + fields.editor + \", \";\n\t }\n\t if (fields.publisher) {\n\t info += \", \" + fields.publisher;\n\t }\n\t if (fields.pages) {\n\t info += \", pp. \" + fields.pages + \"\";\n\t }\n\t if (fields.series) {\n\t info += \", \" + fields.series + \"<\\/em>\";\n\t }\n\t if (fields.volume) {\n\t info += \", Vol.\" + fields.volume;\n\t }\n\t if (fields.issn) {\n\t info += \", ISBN: \" + fields.issn;\n\t }\n\t return info + \".\";\n\t },\n\t _asSentence: function (str) {\n\t return str && str.trim() ? str + \". \" : \"\";\n\t }\n\t });\n\t\n\t var CitationListView = Backbone.View.extend({\n\t el: '#citations',\n\t /**\n\t * Set up view.\n\t */\n\t initialize: function () {\n\t this.listenTo(this.collection, 'add', this.renderCitation);\n\t },\n\t\n\t events: {\n\t 'click .citations-to-bibtex': 'showBibtex',\n\t 'click .citations-to-formatted': 'showFormatted'\n\t },\n\t\n\t renderCitation: function (citation) {\n\t var citationView = new CitationView({ model: citation });\n\t this.$(\".citations-formatted\").append(citationView.render().el);\n\t var rawTextarea = this.$(\".citations-bibtex-text\");\n\t rawTextarea.val(rawTextarea.val() + \"\\n\\r\" + citation.attributes.content);\n\t },\n\t\n\t render: function () {\n\t this.$el.html(this.citationsElement());\n\t this.collection.each(function (item) {\n\t this.renderCitation(item);\n\t }, this);\n\t this.showFormatted();\n\t },\n\t\n\t showBibtex: function () {\n\t this.$(\".citations-to-formatted\").show();\n\t this.$(\".citations-to-bibtex\").hide();\n\t this.$(\".citations-bibtex\").show();\n\t this.$(\".citations-formatted\").hide();\n\t this.$(\".citations-bibtex-text\").select();\n\t },\n\t\n\t showFormatted: function () {\n\t this.$(\".citations-to-formatted\").hide();\n\t this.$(\".citations-to-bibtex\").show();\n\t this.$(\".citations-bibtex\").hide();\n\t this.$(\".citations-formatted\").show();\n\t },\n\t\n\t partialWarningElement: function () {\n\t if (this.collection.partial) {\n\t return ['' + JSON.stringify(xhr.responseJSON) + '';\n\t } else {\n\t content += ': ' + message;\n\t }\n\t }\n\t creator._showAlert(content, 'alert-danger');\n\t },\n\t\n\t events: {\n\t // header\n\t 'click .more-help': '_clickMoreHelp',\n\t 'click .less-help': '_clickLessHelp',\n\t 'click .main-help': '_toggleHelp',\n\t 'click .header .alert button': '_hideAlert',\n\t\n\t 'click .reset': 'reset',\n\t 'click .clear-selected': 'clearSelectedElements',\n\t\n\t // elements - selection\n\t 'click .collection-elements': 'clearSelectedElements',\n\t\n\t // elements - drop target\n\t // 'dragenter .collection-elements': '_dragenterElements',\n\t // 'dragleave .collection-elements': '_dragleaveElements',\n\t 'dragover .collection-elements': '_dragoverElements',\n\t 'drop .collection-elements': '_dropElements',\n\t\n\t // these bubble up from the elements as custom events\n\t 'collection-element.dragstart .collection-elements': '_elementDragstart',\n\t 'collection-element.dragend .collection-elements': '_elementDragend',\n\t\n\t // footer\n\t 'change .collection-name': '_changeName',\n\t 'keydown .collection-name': '_nameCheckForEnter',\n\t 'change .hide-originals': '_changeHideOriginals',\n\t 'click .cancel-create': '_cancelCreate',\n\t 'click .create-collection': '_clickCreate' //,\n\t },\n\t\n\t // ........................................................................ elements\n\t /** reset all data to the initial state */\n\t reset: function () {\n\t this._instanceSetUp();\n\t this._elementsSetUp();\n\t this.render();\n\t },\n\t\n\t /** deselect all elements */\n\t clearSelectedElements: function (ev) {\n\t this.$('.collection-elements .collection-element').removeClass('selected');\n\t this.$('.collection-elements-controls > .clear-selected').hide();\n\t },\n\t\n\t //_dragenterElements : function( ev ){\n\t // //this.debug( '_dragenterElements:', ev );\n\t //},\n\t //TODO: if selected are dragged out of the list area - remove the placeholder - cuz it won't work anyway\n\t // _dragleaveElements : function( ev ){\n\t // //this.debug( '_dragleaveElements:', ev );\n\t // },\n\t\n\t /** track the mouse drag over the list adding a placeholder to show where the drop would occur */\n\t _dragoverElements: function (ev) {\n\t //this.debug( '_dragoverElements:', ev );\n\t ev.preventDefault();\n\t\n\t var $list = this.$list();\n\t this._checkForAutoscroll($list, ev.originalEvent.clientY);\n\t var $nearest = this._getNearestElement(ev.originalEvent.clientY);\n\t\n\t //TODO: no need to re-create - move instead\n\t this.$('.element-drop-placeholder').remove();\n\t var $placeholder = $('');\n\t if (!$nearest.length) {\n\t $list.append($placeholder);\n\t } else {\n\t $nearest.before($placeholder);\n\t }\n\t },\n\t\n\t /** If the mouse is near enough to the list's top or bottom, scroll the list */\n\t _checkForAutoscroll: function ($element, y) {\n\t var AUTOSCROLL_SPEED = 2,\n\t offset = $element.offset(),\n\t scrollTop = $element.scrollTop(),\n\t upperDist = y - offset.top,\n\t lowerDist = offset.top + $element.outerHeight() - y;\n\t if (upperDist >= 0 && upperDist < this.autoscrollDist) {\n\t $element.scrollTop(scrollTop - AUTOSCROLL_SPEED);\n\t } else if (lowerDist >= 0 && lowerDist < this.autoscrollDist) {\n\t $element.scrollTop(scrollTop + AUTOSCROLL_SPEED);\n\t }\n\t },\n\t\n\t /** get the nearest element based on the mouse's Y coordinate.\n\t * If the y is at the end of the list, return an empty jQuery object.\n\t */\n\t _getNearestElement: function (y) {\n\t var WIGGLE = 4,\n\t lis = this.$('.collection-elements li.collection-element').toArray();\n\t for (var i = 0; i < lis.length; i++) {\n\t var $li = $(lis[i]),\n\t top = $li.offset().top,\n\t halfHeight = Math.floor($li.outerHeight() / 2) + WIGGLE;\n\t if (top + halfHeight > y && top - halfHeight < y) {\n\t return $li;\n\t }\n\t }\n\t return $();\n\t },\n\t\n\t /** drop (dragged/selected elements) onto the list, re-ordering the internal list */\n\t _dropElements: function (ev) {\n\t if (ev.originalEvent) {\n\t ev = ev.originalEvent;\n\t }\n\t // both required for firefox\n\t ev.preventDefault();\n\t ev.dataTransfer.dropEffect = 'move';\n\t\n\t // insert before the nearest element or after the last.\n\t var $nearest = this._getNearestElement(ev.clientY);\n\t if ($nearest.length) {\n\t this.$dragging.insertBefore($nearest);\n\t } else {\n\t // no nearest before - insert after last element\n\t this.$dragging.insertAfter(this.$('.collection-elements .collection-element').last());\n\t }\n\t // resync the creator's list based on the new DOM order\n\t this._syncOrderToDom();\n\t return false;\n\t },\n\t\n\t /** resync the creator's list of elements based on the DOM order */\n\t _syncOrderToDom: function () {\n\t var creator = this,\n\t newElements = [];\n\t //TODO: doesn't seem wise to use the dom to store these - can't we sync another way?\n\t this.$('.collection-elements .collection-element').each(function () {\n\t var id = $(this).attr('data-element-id'),\n\t element = _.findWhere(creator.workingElements, { id: id });\n\t if (element) {\n\t newElements.push(element);\n\t } else {\n\t console.error('missing element: ', id);\n\t }\n\t });\n\t this.workingElements = newElements;\n\t this._renderList();\n\t },\n\t\n\t /** drag communication with element sub-views: dragstart */\n\t _elementDragstart: function (ev, element) {\n\t // auto select the element causing the event and move all selected\n\t element.select(true);\n\t this.$dragging = this.$('.collection-elements .collection-element.selected');\n\t },\n\t\n\t /** drag communication with element sub-views: dragend - remove the placeholder */\n\t _elementDragend: function (ev, element) {\n\t $('.element-drop-placeholder').remove();\n\t this.$dragging = null;\n\t },\n\t\n\t // ------------------------------------------------------------------------ templates\n\t //TODO: move to require text plugin and load these as text\n\t //TODO: underscore currently unnecc. bc no vars are used\n\t //TODO: better way of localizing text-nodes in long strings\n\t /** underscore template fns attached to class */\n\t templates: _.extend({}, baseCreator.CollectionCreatorMixin._creatorTemplates, {\n\t\n\t /** the header (not including help text) */\n\t header: _.template(['
', _l(['Collections of datasets are permanent, ordered lists of datasets that can be passed to tools and ', 'workflows in order to have analyses done on each member of the entire group. This interface allows ', 'you to create a collection and re-order the final collection.'].join('')), '
', '', _l(['Once your collection is complete, enter a name and ', 'click \"Create list\".'].join('')), '
'].join('')),\n\t\n\t /** shown in list when all elements are discarded */\n\t invalidElements: _.template([_l('The following selections could not be included due to problems:'), '<%= dataset.peek %>', '<% } %>', '<% } %>', '
| ' + ' | Name | ' + 'Size | ' + 'Created | ' + '
|---|
' + JSON.stringify(xhr.responseJSON) + '';\n\t } else {\n\t content += ': ' + message;\n\t }\n\t }\n\t creator._showAlert(content, 'alert-danger');\n\t },\n\t\n\t // ------------------------------------------------------------------------ rendering\n\t /** render the entire interface */\n\t render: function (speed, callback) {\n\t //this.debug( '-- _render' );\n\t //this.$el.empty().html( this.templates.main() );\n\t this.$el.empty().html(this.templates.main());\n\t this._renderHeader(speed);\n\t this._renderMiddle(speed);\n\t this._renderFooter(speed);\n\t this._addPluginComponents();\n\t this.trigger('rendered', this);\n\t return this;\n\t },\n\t\n\t /** render the header section */\n\t _renderHeader: function (speed, callback) {\n\t //this.debug( '-- _renderHeader' );\n\t var $header = this.$('.header').empty().html(this.templates.header()).find('.help-content').prepend($(this.templates.helpContent()));\n\t\n\t this._renderFilters();\n\t return $header;\n\t },\n\t /** fill the filter inputs with the filter values */\n\t _renderFilters: function () {\n\t return this.$('.forward-column .column-header input').val(this.filters[0]).add(this.$('.reverse-column .column-header input').val(this.filters[1]));\n\t },\n\t\n\t /** render the middle including unpaired and paired sections (which may be hidden) */\n\t _renderMiddle: function (speed, callback) {\n\t var $middle = this.$('.middle').empty().html(this.templates.middle());\n\t\n\t // (re-) hide the un/paired panels based on instance vars\n\t if (this.unpairedPanelHidden) {\n\t this.$('.unpaired-columns').hide();\n\t } else if (this.pairedPanelHidden) {\n\t this.$('.paired-columns').hide();\n\t }\n\t\n\t this._renderUnpaired();\n\t this._renderPaired();\n\t return $middle;\n\t },\n\t /** render the unpaired section, showing datasets accrd. to filters, update the unpaired counts */\n\t _renderUnpaired: function (speed, callback) {\n\t //this.debug( '-- _renderUnpaired' );\n\t var creator = this,\n\t $fwd,\n\t $rev,\n\t $prd = [],\n\t split = this._splitByFilters();\n\t // update unpaired counts\n\t this.$('.forward-column .title').text([split[0].length, _l('unpaired forward')].join(' '));\n\t this.$('.forward-column .unpaired-info').text(this._renderUnpairedDisplayStr(this.unpaired.length - split[0].length));\n\t this.$('.reverse-column .title').text([split[1].length, _l('unpaired reverse')].join(' '));\n\t this.$('.reverse-column .unpaired-info').text(this._renderUnpairedDisplayStr(this.unpaired.length - split[1].length));\n\t\n\t this.$('.unpaired-columns .column-datasets').empty();\n\t\n\t // show/hide the auto pair button if any unpaired are left\n\t this.$('.autopair-link').toggle(this.unpaired.length !== 0);\n\t if (this.unpaired.length === 0) {\n\t this._renderUnpairedEmpty();\n\t return;\n\t }\n\t\n\t // create the dataset dom arrays\n\t $rev = split[1].map(function (dataset, i) {\n\t // if there'll be a fwd dataset across the way, add a button to pair the row\n\t if (split[0][i] !== undefined && split[0][i] !== dataset) {\n\t $prd.push(creator._renderPairButton());\n\t }\n\t return creator._renderUnpairedDataset(dataset);\n\t });\n\t $fwd = split[0].map(function (dataset) {\n\t return creator._renderUnpairedDataset(dataset);\n\t });\n\t\n\t if (!$fwd.length && !$rev.length) {\n\t this._renderUnpairedNotShown();\n\t return;\n\t }\n\t // add to appropo cols\n\t //TODO: not the best way to render - consider rendering the entire unpaired-columns section in a fragment\n\t // and swapping out that\n\t this.$('.unpaired-columns .forward-column .column-datasets').append($fwd).add(this.$('.unpaired-columns .paired-column .column-datasets').append($prd)).add(this.$('.unpaired-columns .reverse-column .column-datasets').append($rev));\n\t this._adjUnpairedOnScrollbar();\n\t },\n\t /** return a string to display the count of filtered out datasets */\n\t _renderUnpairedDisplayStr: function (numFiltered) {\n\t return ['(', numFiltered, ' ', _l('filtered out'), ')'].join('');\n\t },\n\t /** return an unattached jQuery DOM element to represent an unpaired dataset */\n\t _renderUnpairedDataset: function (dataset) {\n\t //TODO: to underscore template\n\t return $('').attr('id', 'dataset-' + dataset.id).addClass('dataset unpaired').attr('draggable', true).addClass(dataset.selected ? 'selected' : '').append($('').addClass('dataset-name').text(dataset.name))\n\t //??\n\t .data('dataset', dataset);\n\t },\n\t /** render the button that may go between unpaired datasets, allowing the user to pair a row */\n\t _renderPairButton: function () {\n\t //TODO: *not* a dataset - don't pretend like it is\n\t return $('').addClass('dataset unpaired').append($('').addClass('dataset-name').text(_l('Pair these datasets')));\n\t },\n\t /** a message to display when no unpaired left */\n\t _renderUnpairedEmpty: function () {\n\t //this.debug( '-- renderUnpairedEmpty' );\n\t var $msg = $('').text('(' + _l('no remaining unpaired datasets') + ')');\n\t this.$('.unpaired-columns .paired-column .column-datasets').empty().prepend($msg);\n\t return $msg;\n\t },\n\t /** a message to display when no unpaired can be shown with the current filters */\n\t _renderUnpairedNotShown: function () {\n\t //this.debug( '-- renderUnpairedEmpty' );\n\t var $msg = $('').text('(' + _l('no datasets were found matching the current filters') + ')');\n\t this.$('.unpaired-columns .paired-column .column-datasets').empty().prepend($msg);\n\t return $msg;\n\t },\n\t /** try to detect if the unpaired section has a scrollbar and adjust left column for better centering of all */\n\t _adjUnpairedOnScrollbar: function () {\n\t var $unpairedColumns = this.$('.unpaired-columns').last(),\n\t $firstDataset = this.$('.unpaired-columns .reverse-column .dataset').first();\n\t if (!$firstDataset.length) {\n\t return;\n\t }\n\t var ucRight = $unpairedColumns.offset().left + $unpairedColumns.outerWidth(),\n\t dsRight = $firstDataset.offset().left + $firstDataset.outerWidth(),\n\t rightDiff = Math.floor(ucRight) - Math.floor(dsRight);\n\t //this.debug( 'rightDiff:', ucRight, '-', dsRight, '=', rightDiff );\n\t this.$('.unpaired-columns .forward-column').css('margin-left', rightDiff > 0 ? rightDiff : 0);\n\t },\n\t\n\t /** render the paired section and update counts of paired datasets */\n\t _renderPaired: function (speed, callback) {\n\t //this.debug( '-- _renderPaired' );\n\t this.$('.paired-column-title .title').text([this.paired.length, _l('paired')].join(' '));\n\t // show/hide the unpair all link\n\t this.$('.unpair-all-link').toggle(this.paired.length !== 0);\n\t if (this.paired.length === 0) {\n\t this._renderPairedEmpty();\n\t return;\n\t //TODO: would be best to return here (the $columns)\n\t } else {\n\t // show/hide 'remove extensions link' when any paired and they seem to have extensions\n\t this.$('.remove-extensions-link').show();\n\t }\n\t\n\t this.$('.paired-columns .column-datasets').empty();\n\t var creator = this;\n\t this.paired.forEach(function (pair, i) {\n\t //TODO: cache these?\n\t var pairView = new PairView({ pair: pair });\n\t creator.$('.paired-columns .column-datasets').append(pairView.render().$el).append([''].join(''));\n\t });\n\t },\n\t /** a message to display when none paired */\n\t _renderPairedEmpty: function () {\n\t var $msg = $('').text('(' + _l('no paired datasets yet') + ')');\n\t this.$('.paired-columns .column-datasets').empty().prepend($msg);\n\t return $msg;\n\t },\n\t\n\t footerSettings: {\n\t '.hide-originals': 'hideOriginals',\n\t '.remove-extensions': 'removeExtensions'\n\t },\n\t\n\t /** add any jQuery/bootstrap/custom plugins to elements rendered */\n\t _addPluginComponents: function () {\n\t this._chooseFiltersPopover('.choose-filters-link');\n\t this.$('.help-content i').hoverhighlight('.collection-creator', 'rgba( 64, 255, 255, 1.0 )');\n\t },\n\t\n\t /** build a filter selection popover allowing selection of common filter pairs */\n\t _chooseFiltersPopover: function (selector) {\n\t function filterChoice(val1, val2) {\n\t return [''].join('');\n\t }\n\t var $popoverContent = $(_.template(['
', _l(['Collections of paired datasets are ordered lists of dataset pairs (often forward and reverse reads). ', 'These collections can be passed to tools and workflows in order to have analyses done on each member of ', 'the entire group. This interface allows you to create a collection, choose which datasets are paired, ', 'and re-order the final collection.'].join('')), '
', '', _l(['Unpaired datasets are shown in the unpaired section ', '(hover over the underlined words to highlight below). ', 'Paired datasets are shown in the paired section.', '
', _l(['
', _l(['To unpair individual dataset pairs, click the ', 'unpair buttons ( ). ', 'Click the \"Unpair all\" link to unpair all pairs.'].join('')), '
', '', _l(['You can include or remove the file extensions (e.g. \".fastq\") from your pair names by toggling the ', '\"Remove file extensions from pair names?\" control.'].join('')), '
', '', _l(['Once your collection is complete, enter a name and ', 'click \"Create list\". ', '(Note: you do not have to pair all unpaired datasets to finish.)'].join('')), '
'].join(''))\n\t })\n\t });\n\t\n\t //=============================================================================\n\t /** a modal version of the paired collection creator */\n\t var pairedCollectionCreatorModal = function _pairedCollectionCreatorModal(datasets, options) {\n\t\n\t var deferred = jQuery.Deferred(),\n\t creator;\n\t\n\t options = _.defaults(options || {}, {\n\t datasets: datasets,\n\t oncancel: function () {\n\t Galaxy.modal.hide();\n\t deferred.reject('cancelled');\n\t },\n\t oncreate: function (creator, response) {\n\t Galaxy.modal.hide();\n\t deferred.resolve(response);\n\t }\n\t });\n\t\n\t if (!window.Galaxy || !Galaxy.modal) {\n\t throw new Error('Galaxy or Galaxy.modal not found');\n\t }\n\t\n\t creator = new PairedCollectionCreator(options);\n\t Galaxy.modal.show({\n\t title: 'Create a collection of paired datasets',\n\t body: creator.$el,\n\t width: '80%',\n\t height: '800px',\n\t closing_events: true\n\t });\n\t creator.render();\n\t window.creator = creator;\n\t\n\t //TODO: remove modal header\n\t return deferred;\n\t };\n\t\n\t //=============================================================================\n\t function createListOfPairsCollection(collection, defaultHideSourceItems) {\n\t var elements = collection.toJSON();\n\t //TODO: validate elements\n\t return pairedCollectionCreatorModal(elements, {\n\t historyId: collection.historyId,\n\t defaultHideSourceItems: defaultHideSourceItems\n\t });\n\t }\n\t\n\t //=============================================================================\n\t return {\n\t PairedCollectionCreator: PairedCollectionCreator,\n\t pairedCollectionCreatorModal: pairedCollectionCreatorModal,\n\t createListOfPairsCollection: createListOfPairsCollection\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(2), __webpack_require__(1), __webpack_require__(1)))\n\n/***/ },\n/* 112 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(Backbone, _, jQuery) {!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(35), __webpack_require__(42), __webpack_require__(6), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_RESULT__ = function (LIST_CREATOR, HDCA, BASE_MVC, _l) {\n\t\n\t 'use strict';\n\t\n\t var logNamespace = 'collections';\n\t /*==============================================================================\n\t TODO:\n\t the paired creator doesn't really mesh with the list creator as parent\n\t it may be better to make an abstract super class for both\n\t composites may inherit from this (or vis-versa)\n\t PairedDatasetCollectionElementView doesn't make a lot of sense\n\t \n\t ==============================================================================*/\n\t /** */\n\t var PairedDatasetCollectionElementView = Backbone.View.extend(BASE_MVC.LoggableMixin).extend({\n\t _logNamespace: logNamespace,\n\t\n\t //TODO: use proper class (DatasetDCE or NestedDCDCE (or the union of both))\n\t tagName: 'li',\n\t className: 'collection-element',\n\t\n\t initialize: function (attributes) {\n\t this.element = attributes.element || {};\n\t this.identifier = attributes.identifier;\n\t },\n\t\n\t render: function () {\n\t this.$el.attr('data-element-id', this.element.id).html(this.template({ identifier: this.identifier, element: this.element }));\n\t return this;\n\t },\n\t\n\t //TODO: lots of unused space in the element - possibly load details and display them horiz.\n\t template: _.template(['<%- identifier %>', '<%- element.name %>'].join('')),\n\t\n\t /** remove the DOM and any listeners */\n\t destroy: function () {\n\t this.off();\n\t this.$el.remove();\n\t },\n\t\n\t /** string rep */\n\t toString: function () {\n\t return 'DatasetCollectionElementView()';\n\t }\n\t });\n\t\n\t // ============================================================================\n\t var _super = LIST_CREATOR.ListCollectionCreator;\n\t\n\t /** An interface for building collections.\n\t */\n\t var PairCollectionCreator = _super.extend({\n\t\n\t /** the class used to display individual elements */\n\t elementViewClass: PairedDatasetCollectionElementView,\n\t /** the class this creator will create and save */\n\t collectionClass: HDCA.HistoryPairDatasetCollection,\n\t className: 'pair-collection-creator collection-creator flex-row-container',\n\t\n\t /** override to no-op */\n\t _mangleDuplicateNames: function () {},\n\t\n\t // TODO: this whole pattern sucks. There needs to be two classes of problem area:\n\t // bad inital choices and\n\t // when the user has painted his/her self into a corner during creation/use-of-the-creator\n\t /** render the entire interface */\n\t render: function (speed, callback) {\n\t if (this.workingElements.length === 2) {\n\t return _super.prototype.render.call(this, speed, callback);\n\t }\n\t return this._renderInvalid(speed, callback);\n\t },\n\t\n\t // ------------------------------------------------------------------------ rendering elements\n\t /** render forward/reverse */\n\t _renderList: function (speed, callback) {\n\t //this.debug( '-- _renderList' );\n\t //precondition: there are two valid elements in workingElements\n\t var creator = this,\n\t $tmp = jQuery(''),\n\t $list = creator.$list();\n\t\n\t // lose the original views, create the new, append all at once, then call their renders\n\t _.each(this.elementViews, function (view) {\n\t view.destroy();\n\t creator.removeElementView(view);\n\t });\n\t $tmp.append(creator._createForwardElementView().$el);\n\t $tmp.append(creator._createReverseElementView().$el);\n\t $list.empty().append($tmp.children());\n\t _.invoke(creator.elementViews, 'render');\n\t },\n\t\n\t /** create the forward element view */\n\t _createForwardElementView: function () {\n\t return this._createElementView(this.workingElements[0], { identifier: 'forward' });\n\t },\n\t\n\t /** create the forward element view */\n\t _createReverseElementView: function () {\n\t return this._createElementView(this.workingElements[1], { identifier: 'reverse' });\n\t },\n\t\n\t /** create an element view, cache in elementViews, and return */\n\t _createElementView: function (element, options) {\n\t var elementView = new this.elementViewClass(_.extend(options, {\n\t element: element\n\t }));\n\t this.elementViews.push(elementView);\n\t return elementView;\n\t },\n\t\n\t /** swap the forward, reverse elements and re-render */\n\t swap: function () {\n\t this.workingElements = [this.workingElements[1], this.workingElements[0]];\n\t this._renderList();\n\t },\n\t\n\t events: _.extend(_.clone(_super.prototype.events), {\n\t 'click .swap': 'swap'\n\t }),\n\t\n\t // ------------------------------------------------------------------------ templates\n\t //TODO: move to require text plugin and load these as text\n\t //TODO: underscore currently unnecc. bc no vars are used\n\t //TODO: better way of localizing text-nodes in long strings\n\t /** underscore template fns attached to class */\n\t templates: _.extend(_.clone(_super.prototype.templates), {\n\t /** the middle: element list */\n\t middle: _.template(['', _l(['Pair collections are permanent collections containing two datasets: one forward and one reverse. ', 'Often these are forward and reverse reads. The pair collections can be passed to tools and ', 'workflows in order to have analyses done on both datasets. This interface allows ', 'you to create a pair, name it, and swap which is forward and which reverse.'].join('')), '
', '', _l(['Once your collection is complete, enter a name and ', 'click \"Create list\".'].join('')), '
'].join('')),\n\t\n\t /** a simplified page communicating what went wrong and why the user needs to reselect something else */\n\t invalidInitial: _.template(['' + this.progressive + '...
';\n\t this.modal.$('.modal-body').empty().append(indicator).css({ 'margin-top': '8px' });\n\t },\n\t\n\t // (sorta) public interface - display the modal, render the form, and potentially copy the history\n\t // returns a jQuery.Deferred done->history copied, fail->user cancelled\n\t dialog: function _dialog(modal, history, options) {\n\t options = options || {};\n\t\n\t var dialog = this,\n\t deferred = jQuery.Deferred(),\n\t\n\t // TODO: getting a little byzantine here\n\t defaultCopyNameFn = options.nameFn || this.defaultName,\n\t defaultCopyName = defaultCopyNameFn({ name: history.get('name') }),\n\t\n\t // TODO: these two might be simpler as one 3 state option (all,active,no-choice)\n\t defaultCopyWhat = options.allDatasets ? 'copy-all' : 'copy-non-deleted',\n\t allowAll = !_.isUndefined(options.allowAll) ? options.allowAll : true,\n\t autoClose = !_.isUndefined(options.autoClose) ? options.autoClose : true;\n\t\n\t this.modal = modal;\n\t\n\t // validate the name and copy if good\n\t function checkNameAndCopy() {\n\t var name = modal.$('#copy-modal-title').val();\n\t if (!name) {\n\t modal.$('.invalid-title').show();\n\t return;\n\t }\n\t // get further settings, shut down and indicate the ajax call, then hide and resolve/reject\n\t var copyAllDatasets = modal.$('input[name=\"copy-what\"]:checked').val() === 'copy-all';\n\t modal.$('button').prop('disabled', true);\n\t dialog._showAjaxIndicator();\n\t history.copy(true, name, copyAllDatasets).done(function (response) {\n\t deferred.resolve(response);\n\t }).fail(function (xhr, status, message) {\n\t var options = { name: name, copyAllDatasets: copyAllDatasets };\n\t ERROR_MODAL.ajaxErrorModal(history, xhr, options, dialog.errorMessage);\n\t deferred.rejectWith(deferred, arguments);\n\t }).done(function () {\n\t if (autoClose) {\n\t modal.hide();\n\t }\n\t });\n\t }\n\t\n\t var originalClosingCallback = options.closing_callback;\n\t modal.show(_.extend(options, {\n\t title: this.title({ name: history.get('name') }),\n\t body: $(dialog._template({\n\t name: defaultCopyName,\n\t isAnon: Galaxy.user.isAnonymous(),\n\t allowAll: allowAll,\n\t copyWhat: defaultCopyWhat,\n\t activeLabel: this.activeLabel,\n\t allLabel: this.allLabel,\n\t anonWarning: this.anonWarning\n\t })),\n\t buttons: _.object([[_l('Cancel'), function () {\n\t modal.hide();\n\t }], [this.submitLabel, checkNameAndCopy]]),\n\t height: 'auto',\n\t closing_events: true,\n\t closing_callback: function _historyCopyClose(cancelled) {\n\t if (cancelled) {\n\t deferred.reject({ cancelled: true });\n\t }\n\t if (originalClosingCallback) {\n\t originalClosingCallback(cancelled);\n\t }\n\t }\n\t }));\n\t\n\t // set the default dataset copy, autofocus the title, and set up for a simple return\n\t modal.$('#copy-modal-title').focus().select();\n\t modal.$('#copy-modal-title').on('keydown', function (ev) {\n\t if (ev.keyCode === 13) {\n\t ev.preventDefault();\n\t checkNameAndCopy();\n\t }\n\t });\n\t\n\t return deferred;\n\t }\n\t };\n\t\n\t //==============================================================================\n\t // maintain the (slight) distinction between copy and import\n\t /**\n\t * Subclass CopyDialog to use the import language.\n\t */\n\t var ImportDialog = _.extend({}, CopyDialog, {\n\t defaultName: _.template(\"imported: <%- name %>\"),\n\t title: _.template(_l('Importing history') + ' \"<%- name %>\"'),\n\t submitLabel: _l('Import'),\n\t errorMessage: _l('History could not be imported.'),\n\t progressive: _l('Importing history'),\n\t activeLabel: _l('Import only the active, non-deleted datasets'),\n\t allLabel: _l('Import all datasets including deleted ones'),\n\t anonWarning: _l('As an anonymous user, unless you login or register, you will lose your current history ') + _l('after importing this history. ')\n\t\n\t });\n\t\n\t //==============================================================================\n\t /**\n\t * Main interface for both history import and history copy dialogs.\n\t * @param {Backbone.Model} history the history to copy\n\t * @param {Object} options a hash\n\t * @return {jQuery.Deferred} promise that fails on close and succeeds on copy\n\t *\n\t * options:\n\t * (this object is also passed to the modal used to display the dialog and accepts modal options)\n\t * {Function} nameFn if defined, use this to build the default name shown to the user\n\t * (the fn is passed: {name:| Name | ' + 'Size | ' + 'Status | ' + '' + ' |
|---|
| ' + ' | ' + ' | Description | ' + 'Name | ' + 'Size | ' + 'Settings | ' + 'Status | ' + '
|---|
| Name | ' + 'Size | ' + 'Type | ' + 'Genome | ' + 'Settings | ' + 'Status | ' + '' + ' |
|---|
' + 'The length format is two-column, separated by whitespace, of the form:' + '
chrom/contig length of chrom/contig' + '' + '
' + 'For example, the first few entries of mm9.len are as follows:' + '
' + 'chr1 197195432\\n' + 'chr2 181748087\\n' + 'chr3 159599783\\n' + 'chr4 155630120\\n' + 'chr5 152537259' + '' + '' + '
Trackster uses this information to populate the select box for chrom/contig, and' + 'to set the maximum basepair of the track browser. You may either upload a .len file' + 'of this format (Len File option), or directly enter the information into the box ' + '(Len Entry option).
';\n\t },\n\t\n\t _templateFasta: function () {\n\t return '' + 'This is a multi-fasta file from your current history that provides the genome' + 'sequences for each chromosome/contig in your build.' + '
' + '' + 'Here is a snippet from an example multi-fasta file:' + '
' + '>chr1\\n' + 'ATTATATATAAGACCACAGAGAGAATATTTTGCCCGG...\\n\\n' + '>chr2\\n' + 'GGCGGCCGCGGCGATATAGAACTACTCATTATATATA...\\n\\n' + '...' + '' + '';\n\t }\n\t });\n\t\n\t return {\n\t View: View\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(1)))\n\n/***/ },\n/* 130 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(Backbone, $, _) {/** User Preferences view */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(21), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Form, Ui) {\n\t\n\t /** Contains descriptive dictionaries describing user forms */\n\t var Model = Backbone.Model.extend({\n\t initialize: function (options) {\n\t options = options || {};\n\t options.user_id = options.user_id || Galaxy.user.id;\n\t this.set({\n\t 'user_id': options.user_id,\n\t 'information': {\n\t title: 'Manage information',\n\t description: 'Edit your email, addresses and custom parameters or change your username.',\n\t url: 'api/users/' + options.user_id + '/information/inputs',\n\t icon: 'fa-user'\n\t },\n\t 'password': {\n\t title: 'Change password',\n\t description: 'Allows you to change your login credentials.',\n\t icon: 'fa-unlock-alt',\n\t url: 'api/users/' + options.user_id + '/password/inputs',\n\t submit_title: 'Save password'\n\t },\n\t 'communication': {\n\t title: 'Change communication settings',\n\t description: 'Enable or disable the communication feature to chat with other users.',\n\t url: 'api/users/' + options.user_id + '/communication/inputs',\n\t icon: 'fa-comments-o'\n\t },\n\t 'permissions': {\n\t title: 'Set dataset permissions for new histories',\n\t description: 'Grant others default access to newly created histories. Changes made here will only affect histories created after these settings have been stored.',\n\t url: 'api/users/' + options.user_id + '/permissions/inputs',\n\t icon: 'fa-users',\n\t submit_title: 'Save permissions'\n\t },\n\t 'api_key': {\n\t title: 'Manage API key',\n\t description: 'Access your current API key or create a new one.',\n\t url: 'api/users/' + options.user_id + '/api_key/inputs',\n\t icon: 'fa-key',\n\t submit_title: 'Create a new key',\n\t submit_icon: 'fa-check'\n\t },\n\t 'toolbox_filters': {\n\t title: 'Manage Toolbox filters',\n\t description: 'Customize your Toolbox by displaying or omitting sets of Tools.',\n\t url: 'api/users/' + options.user_id + '/toolbox_filters/inputs',\n\t icon: 'fa-filter',\n\t submit_title: 'Save filters'\n\t },\n\t 'openids': {\n\t title: 'Manage OpenIDs',\n\t description: 'Associate OpenIDs with your account.',\n\t icon: 'fa-openid',\n\t onclick: function () {\n\t window.location.href = Galaxy.root + 'user/openid_manage?cntrller=user&use_panels=True';\n\t }\n\t },\n\t 'custom_builds': {\n\t title: 'Manage custom builds',\n\t description: 'Add or remove custom builds using history datasets.',\n\t icon: 'fa-cubes',\n\t onclick: function () {\n\t window.location.href = Galaxy.root + 'custom_builds';\n\t }\n\t },\n\t 'logout': {\n\t title: 'Sign out',\n\t description: 'Click here to sign out of all sessions.',\n\t icon: 'fa-sign-out',\n\t onclick: function () {\n\t Galaxy.modal.show({\n\t title: 'Sign out',\n\t body: 'Do you want to continue and sign out of all active sessions?',\n\t buttons: {\n\t 'Cancel': function () {\n\t Galaxy.modal.hide();\n\t },\n\t 'Sign out': function () {\n\t window.location.href = Galaxy.root + 'user/logout';\n\t }\n\t }\n\t });\n\t }\n\t }\n\t });\n\t }\n\t });\n\t\n\t /** View of the main user preference panel with links to individual user forms */\n\t var View = Backbone.View.extend({\n\t\n\t initialize: function () {\n\t this.model = new Model();\n\t this.message = new Ui.Message();\n\t this.setElement('');\n\t this.render();\n\t },\n\t\n\t render: function () {\n\t var self = this;\n\t var config = Galaxy.config;\n\t $.getJSON(Galaxy.root + 'api/users/' + Galaxy.user.id, function (data) {\n\t self.$preferences = $('').addClass('ui-panel').append(self.message.$el).append($('').append('User preferences')).append($('').append('You are logged in as ' + _.escape(data.email) + '.')).append(self.$table = $('
' + 'You are using ' + options.nice_total_disk_usage + ' of disk space in this Galaxy instance. ' + (Galaxy.config.enable_quotas ? 'Your disk quota is: ' + options.quota + '. ' : '') + 'Is your usage more than expected? See the documentation for tips on how to find all of the data in your account.' + '
';\n\t }\n\t });\n\t\n\t /** View of individual user forms */\n\t var Forms = Backbone.View.extend({\n\t\n\t initialize: function (options) {\n\t this.model = new Model(options);\n\t this.page = this.model.get(options.form_id);\n\t this.setElement('');\n\t this.render();\n\t },\n\t\n\t render: function () {\n\t var self = this;\n\t $.ajax({\n\t url: Galaxy.root + this.page.url,\n\t type: 'GET'\n\t }).done(function (response) {\n\t var options = $.extend({}, self.page, response);\n\t var form = new Form({\n\t title: options.title,\n\t icon: options.icon,\n\t inputs: options.inputs,\n\t operations: {\n\t 'submit': new Ui.ButtonIcon({\n\t tooltip: options.submit_tooltip,\n\t title: options.submit_title || 'Save settings',\n\t icon: options.submit_icon || 'fa-save',\n\t onclick: function () {\n\t self._submit(form, options);\n\t }\n\t })\n\t }\n\t });\n\t self.$el.empty().append(form.$el);\n\t }).fail(function (response) {\n\t self.$el.empty().append(new Ui.Message({\n\t message: 'Failed to load resource ' + self.page.url + '.',\n\t status: 'danger',\n\t persistent: true\n\t }).$el);\n\t });\n\t },\n\t\n\t _submit: function (form, options) {\n\t var self = this;\n\t $.ajax({\n\t url: Galaxy.root + options.url,\n\t data: JSON.stringify(form.data.create()),\n\t type: 'PUT',\n\t contentType: 'application/json'\n\t }).done(function (response) {\n\t form.data.matchModel(response, function (input, input_id) {\n\t form.field_list[input_id].value(input.value);\n\t });\n\t form.message.update({ message: response.message, status: 'success' });\n\t }).fail(function (response) {\n\t form.message.update({ message: response.responseJSON.err_msg, status: 'danger' });\n\t });\n\t }\n\t });\n\t\n\t return {\n\t View: View,\n\t Forms: Forms\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(1), __webpack_require__(2)))\n\n/***/ },\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(jQuery, $) {(function (root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else {\n\t // Browser globals\n\t root.LoadingIndicator = factory();\n\t }\n\t\n\t //============================================================================\n\t})(this, function () {\n\t //TODO: too specific to history panel\n\t function LoadingIndicator($where, options) {\n\t\n\t var self = this;\n\t // defaults\n\t options = jQuery.extend({\n\t cover: false\n\t }, options || {});\n\t\n\t function render() {\n\t var html = ['\" + this.formattedReference() + \"
\" );\n return this;\n },\n formattedReference: function() {\n var model = this.model;\n var entryType = model.entryType();\n var fields = model.fields();\n\n var ref = \"\";\n // Code inspired by...\n // https://github.com/vkaravir/bib-publication-list/blob/master/src/bib-publication-list.js\n var authorsAndYear = this._asSentence( (fields.author ? fields.author : \"\") + (fields.year ? (\" (\" + fields.year + \")\") : \"\") ) + \" \";\n var title = fields.title || \"\";\n var pages = fields.pages ? (\"pp. \" + fields.pages) : \"\";\n var address = fields.address;\n if( entryType == \"article\" ) {\n var volume = (fields.volume ? fields.volume : \"\") +\n (fields.number ? ( \" (\" + fields.number + \")\" ) : \"\") +\n (pages ? \", \" + pages : \"\");\n ref = authorsAndYear + this._asSentence(title) +\n (fields.journal ? (\"In \" + fields.journal + \", \") : \"\") +\n this._asSentence(volume) + \n this._asSentence(fields.address) +\n \"<\\/em>\";\n } else if( entryType == \"inproceedings\" || entryType == \"proceedings\" ) {\n ref = authorsAndYear + \n this._asSentence(title) + \n (fields.booktitle ? (\"In \" + fields.booktitle + \", \") : \"\") +\n (pages ? pages : \"\") +\n (address ? \", \" + address : \"\") + \n \".<\\/em>\";\n } else if( entryType == \"mastersthesis\" || entryType == \"phdthesis\" ) {\n ref = authorsAndYear + this._asSentence(title) +\n (fields.howpublished ? fields.howpublished + \". \" : \"\") +\n (fields.note ? fields.note + \".\" : \"\");\n } else if( entryType == \"techreport\" ) {\n ref = authorsAndYear + this._asSentence(title) +\n this._asSentence(fields.institution) +\n this._asSentence(fields.number) +\n this._asSentence(fields.type);\n } else if( entryType == \"book\" || entryType == \"inbook\" || entryType == \"incollection\" ) {\n ref = authorsAndYear + \" \" + this._formatBookInfo(fields);\n } else {\n ref = authorsAndYear + \" \" + this._asSentence(title) +\n this._asSentence(fields.howpublished) +\n this._asSentence(fields.note);\n }\n var doiUrl = \"\";\n if( fields.doi ) {\n doiUrl = 'http://dx.doi.org/' + fields.doi;\n ref += '[doi:' + fields.doi + \"]\";\n }\n var url = fields.url || doiUrl;\n if( url ) {\n ref += '[Link]';\n }\n return ref;\n },\n _formatBookInfo: function(fields) {\n var info = \"\";\n if( fields.chapter ) {\n info += fields.chapter + \" in \";\n }\n if( fields.title ) {\n info += \"\" + fields.title + \"<\\/em>\";\n }\n if( fields.editor ) {\n info += \", Edited by \" + fields.editor + \", \";\n }\n if( fields.publisher) {\n info += \", \" + fields.publisher;\n }\n if( fields.pages ) {\n info += \", pp. \" + fields.pages + \"\";\n }\n if( fields.series ) {\n info += \", \" + fields.series + \"<\\/em>\";\n }\n if( fields.volume ) {\n info += \", Vol.\" + fields.volume;\n }\n if( fields.issn ) {\n info += \", ISBN: \" + fields.issn;\n }\n return info + \".\";\n },\n _asSentence: function(str) {\n return (str && str.trim()) ? str + \". \" : \"\";\n }\n});\n\nvar CitationListView = Backbone.View.extend({\n el: '#citations',\n /**\n * Set up view.\n */\n initialize: function() {\n this.listenTo( this.collection, 'add', this.renderCitation );\n },\n\n events: {\n 'click .citations-to-bibtex': 'showBibtex',\n 'click .citations-to-formatted': 'showFormatted'\n },\n\n renderCitation: function( citation ) {\n var citationView = new CitationView( { model: citation } );\n this.$(\".citations-formatted\").append( citationView.render().el );\n var rawTextarea = this.$(\".citations-bibtex-text\");\n rawTextarea.val( rawTextarea.val() + \"\\n\\r\" + citation.attributes.content );\n },\n\n render: function() {\n this.$el.html(this.citationsElement());\n this.collection.each(function( item ){\n this.renderCitation( item );\n }, this);\n this.showFormatted();\n },\n\n showBibtex: function() {\n this.$(\".citations-to-formatted\").show();\n this.$(\".citations-to-bibtex\").hide();\n this.$(\".citations-bibtex\").show();\n this.$(\".citations-formatted\").hide();\n this.$(\".citations-bibtex-text\").select();\n },\n\n showFormatted: function() {\n this.$(\".citations-to-formatted\").hide();\n this.$(\".citations-to-bibtex\").show();\n this.$(\".citations-bibtex\").hide();\n this.$(\".citations-formatted\").show();\n },\n\n partialWarningElement: function() {\n if( this.collection.partial ) {\n return [\n '' + JSON.stringify( xhr.responseJSON ) + '';\n } else {\n content += ': ' + message;\n }\n }\n creator._showAlert( content, 'alert-danger' );\n },\n\n events : {\n // header\n 'click .more-help' : '_clickMoreHelp',\n 'click .less-help' : '_clickLessHelp',\n 'click .main-help' : '_toggleHelp',\n 'click .header .alert button' : '_hideAlert',\n\n 'click .reset' : 'reset',\n 'click .clear-selected' : 'clearSelectedElements',\n\n // elements - selection\n 'click .collection-elements' : 'clearSelectedElements',\n\n // elements - drop target\n // 'dragenter .collection-elements': '_dragenterElements',\n // 'dragleave .collection-elements': '_dragleaveElements',\n 'dragover .collection-elements' : '_dragoverElements',\n 'drop .collection-elements' : '_dropElements',\n\n // these bubble up from the elements as custom events\n 'collection-element.dragstart .collection-elements' : '_elementDragstart',\n 'collection-element.dragend .collection-elements' : '_elementDragend',\n\n // footer\n 'change .collection-name' : '_changeName',\n 'keydown .collection-name' : '_nameCheckForEnter',\n 'change .hide-originals' : '_changeHideOriginals',\n 'click .cancel-create' : '_cancelCreate',\n 'click .create-collection' : '_clickCreate'//,\n },\n\n // ........................................................................ elements\n /** reset all data to the initial state */\n reset : function(){\n this._instanceSetUp();\n this._elementsSetUp();\n this.render();\n },\n\n /** deselect all elements */\n clearSelectedElements : function( ev ){\n this.$( '.collection-elements .collection-element' ).removeClass( 'selected' );\n this.$( '.collection-elements-controls > .clear-selected' ).hide();\n },\n\n //_dragenterElements : function( ev ){\n // //this.debug( '_dragenterElements:', ev );\n //},\n//TODO: if selected are dragged out of the list area - remove the placeholder - cuz it won't work anyway\n // _dragleaveElements : function( ev ){\n // //this.debug( '_dragleaveElements:', ev );\n // },\n\n /** track the mouse drag over the list adding a placeholder to show where the drop would occur */\n _dragoverElements : function( ev ){\n //this.debug( '_dragoverElements:', ev );\n ev.preventDefault();\n\n var $list = this.$list();\n this._checkForAutoscroll( $list, ev.originalEvent.clientY );\n var $nearest = this._getNearestElement( ev.originalEvent.clientY );\n\n //TODO: no need to re-create - move instead\n this.$( '.element-drop-placeholder' ).remove();\n var $placeholder = $( '' );\n if( !$nearest.length ){\n $list.append( $placeholder );\n } else {\n $nearest.before( $placeholder );\n }\n },\n\n /** If the mouse is near enough to the list's top or bottom, scroll the list */\n _checkForAutoscroll : function( $element, y ){\n var AUTOSCROLL_SPEED = 2,\n offset = $element.offset(),\n scrollTop = $element.scrollTop(),\n upperDist = y - offset.top,\n lowerDist = ( offset.top + $element.outerHeight() ) - y;\n if( upperDist >= 0 && upperDist < this.autoscrollDist ){\n $element.scrollTop( scrollTop - AUTOSCROLL_SPEED );\n } else if( lowerDist >= 0 && lowerDist < this.autoscrollDist ){\n $element.scrollTop( scrollTop + AUTOSCROLL_SPEED );\n }\n },\n\n /** get the nearest element based on the mouse's Y coordinate.\n * If the y is at the end of the list, return an empty jQuery object.\n */\n _getNearestElement : function( y ){\n var WIGGLE = 4,\n lis = this.$( '.collection-elements li.collection-element' ).toArray();\n for( var i=0; i
', _l([\n 'Collections of datasets are permanent, ordered lists of datasets that can be passed to tools and ',\n 'workflows in order to have analyses done on each member of the entire group. This interface allows ',\n 'you to create a collection and re-order the final collection.'\n ].join( '' )), '
',\n '', _l([\n 'Once your collection is complete, enter a name and ',\n 'click \"Create list\".'\n ].join( '' )), '
'\n ].join('')),\n\n /** shown in list when all elements are discarded */\n invalidElements : _.template([\n _l( 'The following selections could not be included due to problems:' ),\n '<%= dataset.peek %>',\n '<% } %>',\n '<% } %>',\n '
| ' +\n ' | Name | ' +\n 'Size | ' +\n 'Created | ' +\n '
|---|
' + JSON.stringify( xhr.responseJSON ) + '';\n } else {\n content += ': ' + message;\n }\n }\n creator._showAlert( content, 'alert-danger' );\n },\n\n // ------------------------------------------------------------------------ rendering\n /** render the entire interface */\n render : function( speed, callback ){\n //this.debug( '-- _render' );\n //this.$el.empty().html( this.templates.main() );\n this.$el.empty().html( this.templates.main() );\n this._renderHeader( speed );\n this._renderMiddle( speed );\n this._renderFooter( speed );\n this._addPluginComponents();\n this.trigger( 'rendered', this );\n return this;\n },\n\n /** render the header section */\n _renderHeader : function( speed, callback ){\n //this.debug( '-- _renderHeader' );\n var $header = this.$( '.header' ).empty().html( this.templates.header() )\n .find( '.help-content' ).prepend( $( this.templates.helpContent() ) );\n\n this._renderFilters();\n return $header;\n },\n /** fill the filter inputs with the filter values */\n _renderFilters : function(){\n return this.$( '.forward-column .column-header input' ).val( this.filters[0] )\n .add( this.$( '.reverse-column .column-header input' ).val( this.filters[1] ) );\n },\n\n /** render the middle including unpaired and paired sections (which may be hidden) */\n _renderMiddle : function( speed, callback ){\n var $middle = this.$( '.middle' ).empty().html( this.templates.middle() );\n\n // (re-) hide the un/paired panels based on instance vars\n if( this.unpairedPanelHidden ){\n this.$( '.unpaired-columns' ).hide();\n } else if( this.pairedPanelHidden ){\n this.$( '.paired-columns' ).hide();\n }\n\n this._renderUnpaired();\n this._renderPaired();\n return $middle;\n },\n /** render the unpaired section, showing datasets accrd. to filters, update the unpaired counts */\n _renderUnpaired : function( speed, callback ){\n //this.debug( '-- _renderUnpaired' );\n var creator = this,\n $fwd, $rev, $prd = [],\n split = this._splitByFilters();\n // update unpaired counts\n this.$( '.forward-column .title' )\n .text([ split[0].length, _l( 'unpaired forward' ) ].join( ' ' ));\n this.$( '.forward-column .unpaired-info' )\n .text( this._renderUnpairedDisplayStr( this.unpaired.length - split[0].length ) );\n this.$( '.reverse-column .title' )\n .text([ split[1].length, _l( 'unpaired reverse' ) ].join( ' ' ));\n this.$( '.reverse-column .unpaired-info' )\n .text( this._renderUnpairedDisplayStr( this.unpaired.length - split[1].length ) );\n\n this.$( '.unpaired-columns .column-datasets' ).empty();\n\n // show/hide the auto pair button if any unpaired are left\n this.$( '.autopair-link' ).toggle( this.unpaired.length !== 0 );\n if( this.unpaired.length === 0 ){\n this._renderUnpairedEmpty();\n return;\n }\n\n // create the dataset dom arrays\n $rev = split[1].map( function( dataset, i ){\n // if there'll be a fwd dataset across the way, add a button to pair the row\n if( ( split[0][ i ] !== undefined )\n && ( split[0][ i ] !== dataset ) ){\n $prd.push( creator._renderPairButton() );\n }\n return creator._renderUnpairedDataset( dataset );\n });\n $fwd = split[0].map( function( dataset ){\n return creator._renderUnpairedDataset( dataset );\n });\n\n if( !$fwd.length && !$rev.length ){\n this._renderUnpairedNotShown();\n return;\n }\n // add to appropo cols\n //TODO: not the best way to render - consider rendering the entire unpaired-columns section in a fragment\n // and swapping out that\n this.$( '.unpaired-columns .forward-column .column-datasets' ).append( $fwd )\n .add( this.$( '.unpaired-columns .paired-column .column-datasets' ).append( $prd ) )\n .add( this.$( '.unpaired-columns .reverse-column .column-datasets' ).append( $rev ) );\n this._adjUnpairedOnScrollbar();\n },\n /** return a string to display the count of filtered out datasets */\n _renderUnpairedDisplayStr : function( numFiltered ){\n return [ '(', numFiltered, ' ', _l( 'filtered out' ), ')' ].join('');\n },\n /** return an unattached jQuery DOM element to represent an unpaired dataset */\n _renderUnpairedDataset : function( dataset ){\n //TODO: to underscore template\n return $( '')\n .attr( 'id', 'dataset-' + dataset.id )\n .addClass( 'dataset unpaired' )\n .attr( 'draggable', true )\n .addClass( dataset.selected? 'selected': '' )\n .append( $( '' ).addClass( 'dataset-name' ).text( dataset.name ) )\n //??\n .data( 'dataset', dataset );\n },\n /** render the button that may go between unpaired datasets, allowing the user to pair a row */\n _renderPairButton : function(){\n //TODO: *not* a dataset - don't pretend like it is\n return $( '').addClass( 'dataset unpaired' )\n .append( $( '' ).addClass( 'dataset-name' ).text( _l( 'Pair these datasets' ) ) );\n },\n /** a message to display when no unpaired left */\n _renderUnpairedEmpty : function(){\n //this.debug( '-- renderUnpairedEmpty' );\n var $msg = $( '' )\n .text( '(' + _l( 'no remaining unpaired datasets' ) + ')' );\n this.$( '.unpaired-columns .paired-column .column-datasets' ).empty().prepend( $msg );\n return $msg;\n },\n /** a message to display when no unpaired can be shown with the current filters */\n _renderUnpairedNotShown : function(){\n //this.debug( '-- renderUnpairedEmpty' );\n var $msg = $( '' )\n .text( '(' + _l( 'no datasets were found matching the current filters' ) + ')' );\n this.$( '.unpaired-columns .paired-column .column-datasets' ).empty().prepend( $msg );\n return $msg;\n },\n /** try to detect if the unpaired section has a scrollbar and adjust left column for better centering of all */\n _adjUnpairedOnScrollbar : function(){\n var $unpairedColumns = this.$( '.unpaired-columns' ).last(),\n $firstDataset = this.$( '.unpaired-columns .reverse-column .dataset' ).first();\n if( !$firstDataset.length ){ return; }\n var ucRight = $unpairedColumns.offset().left + $unpairedColumns.outerWidth(),\n dsRight = $firstDataset.offset().left + $firstDataset.outerWidth(),\n rightDiff = Math.floor( ucRight ) - Math.floor( dsRight );\n //this.debug( 'rightDiff:', ucRight, '-', dsRight, '=', rightDiff );\n this.$( '.unpaired-columns .forward-column' )\n .css( 'margin-left', ( rightDiff > 0 )? rightDiff: 0 );\n },\n\n /** render the paired section and update counts of paired datasets */\n _renderPaired : function( speed, callback ){\n //this.debug( '-- _renderPaired' );\n this.$( '.paired-column-title .title' ).text([ this.paired.length, _l( 'paired' ) ].join( ' ' ) );\n // show/hide the unpair all link\n this.$( '.unpair-all-link' ).toggle( this.paired.length !== 0 );\n if( this.paired.length === 0 ){\n this._renderPairedEmpty();\n return;\n //TODO: would be best to return here (the $columns)\n } else {\n // show/hide 'remove extensions link' when any paired and they seem to have extensions\n this.$( '.remove-extensions-link' ).show();\n }\n\n this.$( '.paired-columns .column-datasets' ).empty();\n var creator = this;\n this.paired.forEach( function( pair, i ){\n //TODO: cache these?\n var pairView = new PairView({ pair: pair });\n creator.$( '.paired-columns .column-datasets' )\n .append( pairView.render().$el )\n .append([\n ''\n ].join( '' ));\n });\n },\n /** a message to display when none paired */\n _renderPairedEmpty : function(){\n var $msg = $( '' )\n .text( '(' + _l( 'no paired datasets yet' ) + ')' );\n this.$( '.paired-columns .column-datasets' ).empty().prepend( $msg );\n return $msg;\n },\n\n footerSettings : {\n '.hide-originals': 'hideOriginals',\n '.remove-extensions': 'removeExtensions'\n },\n\n /** add any jQuery/bootstrap/custom plugins to elements rendered */\n _addPluginComponents : function(){\n this._chooseFiltersPopover( '.choose-filters-link' );\n this.$( '.help-content i' ).hoverhighlight( '.collection-creator', 'rgba( 64, 255, 255, 1.0 )' );\n },\n\n /** build a filter selection popover allowing selection of common filter pairs */\n _chooseFiltersPopover : function( selector ){\n function filterChoice( val1, val2 ){\n return [\n ''\n ].join('');\n }\n var $popoverContent = $( _.template([\n '
', _l([\n 'Collections of paired datasets are ordered lists of dataset pairs (often forward and reverse reads). ',\n 'These collections can be passed to tools and workflows in order to have analyses done on each member of ',\n 'the entire group. This interface allows you to create a collection, choose which datasets are paired, ',\n 'and re-order the final collection.'\n ].join( '' )), '
',\n '', _l([\n 'Unpaired datasets are shown in the unpaired section ',\n '(hover over the underlined words to highlight below). ',\n 'Paired datasets are shown in the paired section.',\n '
', _l([\n '
', _l([\n 'To unpair individual dataset pairs, click the ',\n 'unpair buttons ( ). ',\n 'Click the \"Unpair all\" link to unpair all pairs.'\n ].join( '' )), '
',\n '', _l([\n 'You can include or remove the file extensions (e.g. \".fastq\") from your pair names by toggling the ',\n '\"Remove file extensions from pair names?\" control.'\n ].join( '' )), '
',\n '', _l([\n 'Once your collection is complete, enter a name and ',\n 'click \"Create list\". ',\n '(Note: you do not have to pair all unpaired datasets to finish.)'\n ].join( '' )), '
'\n ].join(''))\n })\n});\n\n//=============================================================================\n/** a modal version of the paired collection creator */\nvar pairedCollectionCreatorModal = function _pairedCollectionCreatorModal( datasets, options ){\n\n var deferred = jQuery.Deferred(),\n creator;\n\n options = _.defaults( options || {}, {\n datasets : datasets,\n oncancel : function(){\n Galaxy.modal.hide();\n deferred.reject( 'cancelled' );\n },\n oncreate : function( creator, response ){\n Galaxy.modal.hide();\n deferred.resolve( response );\n }\n });\n\n if( !window.Galaxy || !Galaxy.modal ){\n throw new Error( 'Galaxy or Galaxy.modal not found' );\n }\n\n creator = new PairedCollectionCreator( options );\n Galaxy.modal.show({\n title : 'Create a collection of paired datasets',\n body : creator.$el,\n width : '80%',\n height : '800px',\n closing_events: true\n });\n creator.render();\n window.creator = creator;\n\n //TODO: remove modal header\n return deferred;\n};\n\n\n//=============================================================================\nfunction createListOfPairsCollection( collection, defaultHideSourceItems ){\n var elements = collection.toJSON();\n//TODO: validate elements\n return pairedCollectionCreatorModal( elements, {\n historyId : collection.historyId,\n defaultHideSourceItems: defaultHideSourceItems\n });\n}\n\n\n//=============================================================================\n return {\n PairedCollectionCreator : PairedCollectionCreator,\n pairedCollectionCreatorModal : pairedCollectionCreatorModal,\n createListOfPairsCollection : createListOfPairsCollection\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./galaxy/scripts/mvc/collection/list-of-pairs-collection-creator.js","define([\n \"mvc/collection/list-collection-creator\",\n \"mvc/history/hdca-model\",\n \"mvc/base-mvc\",\n \"utils/localization\"\n], function( LIST_CREATOR, HDCA, BASE_MVC, _l ){\n\n'use strict';\n\nvar logNamespace = 'collections';\n/*==============================================================================\nTODO:\n the paired creator doesn't really mesh with the list creator as parent\n it may be better to make an abstract super class for both\n composites may inherit from this (or vis-versa)\n PairedDatasetCollectionElementView doesn't make a lot of sense\n\n==============================================================================*/\n/** */\nvar PairedDatasetCollectionElementView = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend({\n _logNamespace : logNamespace,\n\n//TODO: use proper class (DatasetDCE or NestedDCDCE (or the union of both))\n tagName : 'li',\n className : 'collection-element',\n\n initialize : function( attributes ){\n this.element = attributes.element || {};\n this.identifier = attributes.identifier;\n },\n\n render : function(){\n this.$el\n .attr( 'data-element-id', this.element.id )\n .html( this.template({ identifier: this.identifier, element: this.element }) );\n return this;\n },\n\n //TODO: lots of unused space in the element - possibly load details and display them horiz.\n template : _.template([\n '<%- identifier %>',\n '<%- element.name %>',\n ].join('')),\n\n /** remove the DOM and any listeners */\n destroy : function(){\n this.off();\n this.$el.remove();\n },\n\n /** string rep */\n toString : function(){\n return 'DatasetCollectionElementView()';\n }\n});\n\n\n// ============================================================================\nvar _super = LIST_CREATOR.ListCollectionCreator;\n\n/** An interface for building collections.\n */\nvar PairCollectionCreator = _super.extend({\n\n /** the class used to display individual elements */\n elementViewClass : PairedDatasetCollectionElementView,\n /** the class this creator will create and save */\n collectionClass : HDCA.HistoryPairDatasetCollection,\n className : 'pair-collection-creator collection-creator flex-row-container',\n\n /** override to no-op */\n _mangleDuplicateNames : function(){},\n\n // TODO: this whole pattern sucks. There needs to be two classes of problem area:\n // bad inital choices and\n // when the user has painted his/her self into a corner during creation/use-of-the-creator\n /** render the entire interface */\n render : function( speed, callback ){\n if( this.workingElements.length === 2 ){\n return _super.prototype.render.call( this, speed, callback );\n }\n return this._renderInvalid( speed, callback );\n },\n\n // ------------------------------------------------------------------------ rendering elements\n /** render forward/reverse */\n _renderList : function( speed, callback ){\n //this.debug( '-- _renderList' );\n //precondition: there are two valid elements in workingElements\n var creator = this,\n $tmp = jQuery( '' ),\n $list = creator.$list();\n\n // lose the original views, create the new, append all at once, then call their renders\n _.each( this.elementViews, function( view ){\n view.destroy();\n creator.removeElementView( view );\n });\n $tmp.append( creator._createForwardElementView().$el );\n $tmp.append( creator._createReverseElementView().$el );\n $list.empty().append( $tmp.children() );\n _.invoke( creator.elementViews, 'render' );\n },\n\n /** create the forward element view */\n _createForwardElementView : function(){\n return this._createElementView( this.workingElements[0], { identifier: 'forward' } );\n },\n\n /** create the forward element view */\n _createReverseElementView : function(){\n return this._createElementView( this.workingElements[1], { identifier: 'reverse' } );\n },\n\n /** create an element view, cache in elementViews, and return */\n _createElementView : function( element, options ){\n var elementView = new this.elementViewClass( _.extend( options, {\n element : element,\n }));\n this.elementViews.push( elementView );\n return elementView;\n },\n\n /** swap the forward, reverse elements and re-render */\n swap : function(){\n this.workingElements = [\n this.workingElements[1],\n this.workingElements[0],\n ];\n this._renderList();\n },\n\n events : _.extend( _.clone( _super.prototype.events ), {\n 'click .swap' : 'swap',\n }),\n\n // ------------------------------------------------------------------------ templates\n //TODO: move to require text plugin and load these as text\n //TODO: underscore currently unnecc. bc no vars are used\n //TODO: better way of localizing text-nodes in long strings\n /** underscore template fns attached to class */\n templates : _.extend( _.clone( _super.prototype.templates ), {\n /** the middle: element list */\n middle : _.template([\n '', _l([\n 'Pair collections are permanent collections containing two datasets: one forward and one reverse. ',\n 'Often these are forward and reverse reads. The pair collections can be passed to tools and ',\n 'workflows in order to have analyses done on both datasets. This interface allows ',\n 'you to create a pair, name it, and swap which is forward and which reverse.'\n ].join( '' )), '
',\n '', _l([\n 'Once your collection is complete, enter a name and ',\n 'click \"Create list\".'\n ].join( '' )), '
'\n ].join('')),\n\n /** a simplified page communicating what went wrong and why the user needs to reselect something else */\n invalidInitial : _.template([\n '' + this.progressive + '...
';\n this.modal.$( '.modal-body' ).empty().append( indicator ).css({ 'margin-top': '8px' });\n },\n\n // (sorta) public interface - display the modal, render the form, and potentially copy the history\n // returns a jQuery.Deferred done->history copied, fail->user cancelled\n dialog : function _dialog( modal, history, options ){\n options = options || {};\n\n var dialog = this,\n deferred = jQuery.Deferred(),\n // TODO: getting a little byzantine here\n defaultCopyNameFn = options.nameFn || this.defaultName,\n defaultCopyName = defaultCopyNameFn({ name: history.get( 'name' ) }),\n // TODO: these two might be simpler as one 3 state option (all,active,no-choice)\n defaultCopyWhat = options.allDatasets? 'copy-all' : 'copy-non-deleted',\n allowAll = !_.isUndefined( options.allowAll )? options.allowAll : true,\n autoClose = !_.isUndefined( options.autoClose )? options.autoClose : true;\n\n this.modal = modal;\n\n\n // validate the name and copy if good\n function checkNameAndCopy(){\n var name = modal.$( '#copy-modal-title' ).val();\n if( !name ){\n modal.$( '.invalid-title' ).show();\n return;\n }\n // get further settings, shut down and indicate the ajax call, then hide and resolve/reject\n var copyAllDatasets = modal.$( 'input[name=\"copy-what\"]:checked' ).val() === 'copy-all';\n modal.$( 'button' ).prop( 'disabled', true );\n dialog._showAjaxIndicator();\n history.copy( true, name, copyAllDatasets )\n .done( function( response ){\n deferred.resolve( response );\n })\n .fail( function( xhr, status, message ){\n var options = { name: name, copyAllDatasets: copyAllDatasets };\n ERROR_MODAL.ajaxErrorModal( history, xhr, options, dialog.errorMessage );\n deferred.rejectWith( deferred, arguments );\n })\n .done( function(){\n if( autoClose ){ modal.hide(); }\n });\n }\n\n var originalClosingCallback = options.closing_callback;\n modal.show( _.extend( options, {\n title : this.title({ name: history.get( 'name' ) }),\n body : $( dialog._template({\n name : defaultCopyName,\n isAnon : Galaxy.user.isAnonymous(),\n allowAll : allowAll,\n copyWhat : defaultCopyWhat,\n activeLabel : this.activeLabel,\n allLabel : this.allLabel,\n anonWarning : this.anonWarning,\n })),\n buttons : _.object([\n [ _l( 'Cancel' ), function(){ modal.hide(); } ],\n [ this.submitLabel, checkNameAndCopy ]\n ]),\n height : 'auto',\n closing_events : true,\n closing_callback: function _historyCopyClose( cancelled ){\n if( cancelled ){\n deferred.reject({ cancelled : true });\n }\n if( originalClosingCallback ){\n originalClosingCallback( cancelled );\n }\n }\n }));\n\n // set the default dataset copy, autofocus the title, and set up for a simple return\n modal.$( '#copy-modal-title' ).focus().select();\n modal.$( '#copy-modal-title' ).on( 'keydown', function( ev ){\n if( ev.keyCode === 13 ){\n ev.preventDefault();\n checkNameAndCopy();\n }\n });\n\n return deferred;\n },\n};\n\n//==============================================================================\n// maintain the (slight) distinction between copy and import\n/**\n * Subclass CopyDialog to use the import language.\n */\nvar ImportDialog = _.extend( {}, CopyDialog, {\n defaultName : _.template( \"imported: <%- name %>\" ),\n title : _.template( _l( 'Importing history' ) + ' \"<%- name %>\"' ),\n submitLabel : _l( 'Import' ),\n errorMessage : _l( 'History could not be imported.' ),\n progressive : _l( 'Importing history' ),\n activeLabel : _l( 'Import only the active, non-deleted datasets' ),\n allLabel : _l( 'Import all datasets including deleted ones' ),\n anonWarning : _l( 'As an anonymous user, unless you login or register, you will lose your current history ' ) +\n _l( 'after importing this history. ' ),\n\n});\n\n//==============================================================================\n/**\n * Main interface for both history import and history copy dialogs.\n * @param {Backbone.Model} history the history to copy\n * @param {Object} options a hash\n * @return {jQuery.Deferred} promise that fails on close and succeeds on copy\n *\n * options:\n * (this object is also passed to the modal used to display the dialog and accepts modal options)\n * {Function} nameFn if defined, use this to build the default name shown to the user\n * (the fn is passed: {name:| Name | ' +\n 'Size | ' +\n 'Status | ' +\n '' +\n ' |
|---|
| ' +\n ' | ' +\n ' | Description | ' +\n 'Name | ' +\n 'Size | ' +\n 'Settings | ' +\n 'Status | ' +\n '
|---|
| Name | ' +\n 'Size | ' +\n 'Type | ' +\n 'Genome | ' +\n 'Settings | ' +\n 'Status | ' +\n '' +\n ' |
|---|
' +\n 'The length format is two-column, separated by whitespace, of the form:' +\n '
chrom/contig length of chrom/contig' +\n '' +\n '
' +\n 'For example, the first few entries of mm9.len are as follows:' +\n '
' +\n 'chr1 197195432\\n' +\n 'chr2 181748087\\n' +\n 'chr3 159599783\\n' +\n 'chr4 155630120\\n' +\n 'chr5 152537259' +\n '' +\n '' +\n '
Trackster uses this information to populate the select box for chrom/contig, and' +\n 'to set the maximum basepair of the track browser. You may either upload a .len file' +\n 'of this format (Len File option), or directly enter the information into the box ' +\n '(Len Entry option).
';\n },\n\n _templateFasta: function() {\n return '' +\n 'This is a multi-fasta file from your current history that provides the genome' +\n 'sequences for each chromosome/contig in your build.' +\n '
' +\n '' +\n 'Here is a snippet from an example multi-fasta file:' +\n '
' +\n '>chr1\\n' +\n 'ATTATATATAAGACCACAGAGAGAATATTTTGCCCGG...\\n\\n' +\n '>chr2\\n' +\n 'GGCGGCCGCGGCGATATAGAACTACTCATTATATATA...\\n\\n' +\n '...' +\n '' +\n '';\n }\n });\n\n return {\n View: View\n }\n});\n\n\n// WEBPACK FOOTER //\n// ./galaxy/scripts/mvc/user/user-custom-builds.js","/** User Preferences view */\ndefine( [ 'mvc/form/form-view', 'mvc/ui/ui-misc' ], function( Form, Ui ) {\n\n /** Contains descriptive dictionaries describing user forms */\n var Model = Backbone.Model.extend({\n initialize: function( options ) {\n options = options || {};\n options.user_id = options.user_id || Galaxy.user.id;\n this.set({\n 'user_id' : options.user_id,\n 'information': {\n title : 'Manage information',\n description : 'Edit your email, addresses and custom parameters or change your username.',\n url : 'api/users/' + options.user_id + '/information/inputs',\n icon : 'fa-user'\n },\n 'password': {\n title : 'Change password',\n description : 'Allows you to change your login credentials.',\n icon : 'fa-unlock-alt',\n url : 'api/users/' + options.user_id + '/password/inputs',\n submit_title : 'Save password',\n },\n 'communication': {\n title : 'Change communication settings',\n description : 'Enable or disable the communication feature to chat with other users.',\n url : 'api/users/' + options.user_id + '/communication/inputs',\n icon : 'fa-comments-o'\n },\n 'permissions': {\n title : 'Set dataset permissions for new histories',\n description : 'Grant others default access to newly created histories. Changes made here will only affect histories created after these settings have been stored.',\n url : 'api/users/' + options.user_id + '/permissions/inputs',\n icon : 'fa-users',\n submit_title : 'Save permissions'\n },\n 'api_key': {\n title : 'Manage API key',\n description : 'Access your current API key or create a new one.',\n url : 'api/users/' + options.user_id + '/api_key/inputs',\n icon : 'fa-key',\n submit_title : 'Create a new key',\n submit_icon : 'fa-check'\n },\n 'toolbox_filters': {\n title : 'Manage Toolbox filters',\n description : 'Customize your Toolbox by displaying or omitting sets of Tools.',\n url : 'api/users/' + options.user_id + '/toolbox_filters/inputs',\n icon : 'fa-filter',\n submit_title : 'Save filters'\n },\n 'openids': {\n title : 'Manage OpenIDs',\n description : 'Associate OpenIDs with your account.',\n icon : 'fa-openid',\n onclick : function() {\n window.location.href = Galaxy.root + 'user/openid_manage?cntrller=user&use_panels=True';\n }\n },\n 'custom_builds': {\n title : 'Manage custom builds',\n description : 'Add or remove custom builds using history datasets.',\n icon : 'fa-cubes',\n onclick : function() {\n window.location.href = Galaxy.root + 'custom_builds';\n }\n },\n 'logout': {\n title : 'Sign out',\n description : 'Click here to sign out of all sessions.',\n icon : 'fa-sign-out',\n onclick : function() {\n Galaxy.modal.show({\n title : 'Sign out',\n body : 'Do you want to continue and sign out of all active sessions?',\n buttons : {\n 'Cancel' : function() { Galaxy.modal.hide(); },\n 'Sign out' : function() { window.location.href = Galaxy.root + 'user/logout'; }\n }\n });\n }\n }\n });\n }\n });\n\n /** View of the main user preference panel with links to individual user forms */\n var View = Backbone.View.extend({\n\n initialize: function() {\n this.model = new Model();\n this.message = new Ui.Message();\n this.setElement( '' );\n this.render();\n },\n\n render: function() {\n var self = this;\n var config = Galaxy.config;\n $.getJSON( Galaxy.root + 'api/users/' + Galaxy.user.id, function( data ) {\n self.$preferences = $( '' ).addClass( 'ui-panel' )\n .append( self.message.$el )\n .append( $( '' ).append( 'User preferences' ) )\n .append( $( '' ).append( 'You are logged in as ' + _.escape( data.email ) + '.' ) )\n .append( self.$table = $( '
' +\n 'You are using ' + options.nice_total_disk_usage + ' of disk space in this Galaxy instance. ' +\n ( Galaxy.config.enable_quotas ? 'Your disk quota is: ' + options.quota + '. ' : '' ) +\n 'Is your usage more than expected? See the documentation for tips on how to find all of the data in your account.' +\n '
';\n }\n });\n\n /** View of individual user forms */\n var Forms = Backbone.View.extend({\n\n initialize: function( options ) {\n this.model = new Model( options );\n this.page = this.model.get( options.form_id );\n this.setElement( '' );\n this.render();\n },\n\n render: function() {\n var self = this;\n $.ajax({\n url : Galaxy.root + this.page.url,\n type : 'GET'\n }).done( function( response ) {\n var options = $.extend( {}, self.page, response );\n var form = new Form({\n title : options.title,\n icon : options.icon,\n inputs : options.inputs,\n operations: {\n 'submit': new Ui.ButtonIcon({\n tooltip : options.submit_tooltip,\n title : options.submit_title || 'Save settings',\n icon : options.submit_icon || 'fa-save',\n onclick : function() { self._submit( form, options ) }\n })\n }\n });\n self.$el.empty().append( form.$el );\n }).fail( function( response ) {\n self.$el.empty().append( new Ui.Message({\n message : 'Failed to load resource ' + self.page.url + '.',\n status : 'danger',\n persistent : true\n }).$el );\n });\n },\n\n _submit: function( form, options ) {\n var self = this;\n $.ajax( {\n url : Galaxy.root + options.url,\n data : JSON.stringify( form.data.create() ),\n type : 'PUT',\n contentType : 'application/json'\n }).done( function( response ) {\n form.data.matchModel( response, function ( input, input_id ) {\n form.field_list[ input_id ].value( input.value );\n });\n form.message.update( { message: response.message, status: 'success' } );\n }).fail( function( response ) {\n form.message.update( { message: response.responseJSON.err_msg, status: 'danger' } );\n });\n }\n });\n\n return {\n View : View,\n Forms : Forms\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./galaxy/scripts/mvc/user/user-preferences.js","(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n } else {\n // Browser globals\n root.LoadingIndicator = factory();\n }\n\n//============================================================================\n}(this, function () {\n //TODO: too specific to history panel\n function LoadingIndicator( $where, options ){\n\n var self = this;\n // defaults\n options = jQuery.extend({\n cover : false\n }, options || {} );\n\n function render(){\n var html = [\n '\" + this.formattedReference() + \"
\");\n\t return this;\n\t },\n\t formattedReference: function () {\n\t var model = this.model;\n\t var entryType = model.entryType();\n\t var fields = model.fields();\n\t\n\t var ref = \"\";\n\t // Code inspired by...\n\t // https://github.com/vkaravir/bib-publication-list/blob/master/src/bib-publication-list.js\n\t var authorsAndYear = this._asSentence((fields.author ? fields.author : \"\") + (fields.year ? \" (\" + fields.year + \")\" : \"\")) + \" \";\n\t var title = fields.title || \"\";\n\t var pages = fields.pages ? \"pp. \" + fields.pages : \"\";\n\t var address = fields.address;\n\t if (entryType == \"article\") {\n\t var volume = (fields.volume ? fields.volume : \"\") + (fields.number ? \" (\" + fields.number + \")\" : \"\") + (pages ? \", \" + pages : \"\");\n\t ref = authorsAndYear + this._asSentence(title) + (fields.journal ? \"In \" + fields.journal + \", \" : \"\") + this._asSentence(volume) + this._asSentence(fields.address) + \"<\\/em>\";\n\t } else if (entryType == \"inproceedings\" || entryType == \"proceedings\") {\n\t ref = authorsAndYear + this._asSentence(title) + (fields.booktitle ? \"In \" + fields.booktitle + \", \" : \"\") + (pages ? pages : \"\") + (address ? \", \" + address : \"\") + \".<\\/em>\";\n\t } else if (entryType == \"mastersthesis\" || entryType == \"phdthesis\") {\n\t ref = authorsAndYear + this._asSentence(title) + (fields.howpublished ? fields.howpublished + \". \" : \"\") + (fields.note ? fields.note + \".\" : \"\");\n\t } else if (entryType == \"techreport\") {\n\t ref = authorsAndYear + this._asSentence(title) + this._asSentence(fields.institution) + this._asSentence(fields.number) + this._asSentence(fields.type);\n\t } else if (entryType == \"book\" || entryType == \"inbook\" || entryType == \"incollection\") {\n\t ref = authorsAndYear + \" \" + this._formatBookInfo(fields);\n\t } else {\n\t ref = authorsAndYear + \" \" + this._asSentence(title) + this._asSentence(fields.howpublished) + this._asSentence(fields.note);\n\t }\n\t var doiUrl = \"\";\n\t if (fields.doi) {\n\t doiUrl = 'http://dx.doi.org/' + fields.doi;\n\t ref += '[doi:' + fields.doi + \"]\";\n\t }\n\t var url = fields.url || doiUrl;\n\t if (url) {\n\t ref += '[Link]';\n\t }\n\t return ref;\n\t },\n\t _formatBookInfo: function (fields) {\n\t var info = \"\";\n\t if (fields.chapter) {\n\t info += fields.chapter + \" in \";\n\t }\n\t if (fields.title) {\n\t info += \"\" + fields.title + \"<\\/em>\";\n\t }\n\t if (fields.editor) {\n\t info += \", Edited by \" + fields.editor + \", \";\n\t }\n\t if (fields.publisher) {\n\t info += \", \" + fields.publisher;\n\t }\n\t if (fields.pages) {\n\t info += \", pp. \" + fields.pages + \"\";\n\t }\n\t if (fields.series) {\n\t info += \", \" + fields.series + \"<\\/em>\";\n\t }\n\t if (fields.volume) {\n\t info += \", Vol.\" + fields.volume;\n\t }\n\t if (fields.issn) {\n\t info += \", ISBN: \" + fields.issn;\n\t }\n\t return info + \".\";\n\t },\n\t _asSentence: function (str) {\n\t return str && str.trim() ? str + \". \" : \"\";\n\t }\n\t });\n\t\n\t var CitationListView = Backbone.View.extend({\n\t el: '#citations',\n\t /**\n\t * Set up view.\n\t */\n\t initialize: function () {\n\t this.listenTo(this.collection, 'add', this.renderCitation);\n\t },\n\t\n\t events: {\n\t 'click .citations-to-bibtex': 'showBibtex',\n\t 'click .citations-to-formatted': 'showFormatted'\n\t },\n\t\n\t renderCitation: function (citation) {\n\t var citationView = new CitationView({ model: citation });\n\t this.$(\".citations-formatted\").append(citationView.render().el);\n\t var rawTextarea = this.$(\".citations-bibtex-text\");\n\t rawTextarea.val(rawTextarea.val() + \"\\n\\r\" + citation.attributes.content);\n\t },\n\t\n\t render: function () {\n\t this.$el.html(this.citationsElement());\n\t this.collection.each(function (item) {\n\t this.renderCitation(item);\n\t }, this);\n\t this.showFormatted();\n\t },\n\t\n\t showBibtex: function () {\n\t this.$(\".citations-to-formatted\").show();\n\t this.$(\".citations-to-bibtex\").hide();\n\t this.$(\".citations-bibtex\").show();\n\t this.$(\".citations-formatted\").hide();\n\t this.$(\".citations-bibtex-text\").select();\n\t },\n\t\n\t showFormatted: function () {\n\t this.$(\".citations-to-formatted\").hide();\n\t this.$(\".citations-to-bibtex\").show();\n\t this.$(\".citations-bibtex\").hide();\n\t this.$(\".citations-formatted\").show();\n\t },\n\t\n\t partialWarningElement: function () {\n\t if (this.collection.partial) {\n\t return ['' + JSON.stringify(xhr.responseJSON) + '';\n\t } else {\n\t content += ': ' + message;\n\t }\n\t }\n\t creator._showAlert(content, 'alert-danger');\n\t },\n\t\n\t events: {\n\t // header\n\t 'click .more-help': '_clickMoreHelp',\n\t 'click .less-help': '_clickLessHelp',\n\t 'click .main-help': '_toggleHelp',\n\t 'click .header .alert button': '_hideAlert',\n\t\n\t 'click .reset': 'reset',\n\t 'click .clear-selected': 'clearSelectedElements',\n\t\n\t // elements - selection\n\t 'click .collection-elements': 'clearSelectedElements',\n\t\n\t // elements - drop target\n\t // 'dragenter .collection-elements': '_dragenterElements',\n\t // 'dragleave .collection-elements': '_dragleaveElements',\n\t 'dragover .collection-elements': '_dragoverElements',\n\t 'drop .collection-elements': '_dropElements',\n\t\n\t // these bubble up from the elements as custom events\n\t 'collection-element.dragstart .collection-elements': '_elementDragstart',\n\t 'collection-element.dragend .collection-elements': '_elementDragend',\n\t\n\t // footer\n\t 'change .collection-name': '_changeName',\n\t 'keydown .collection-name': '_nameCheckForEnter',\n\t 'change .hide-originals': '_changeHideOriginals',\n\t 'click .cancel-create': '_cancelCreate',\n\t 'click .create-collection': '_clickCreate' //,\n\t },\n\t\n\t // ........................................................................ elements\n\t /** reset all data to the initial state */\n\t reset: function () {\n\t this._instanceSetUp();\n\t this._elementsSetUp();\n\t this.render();\n\t },\n\t\n\t /** deselect all elements */\n\t clearSelectedElements: function (ev) {\n\t this.$('.collection-elements .collection-element').removeClass('selected');\n\t this.$('.collection-elements-controls > .clear-selected').hide();\n\t },\n\t\n\t //_dragenterElements : function( ev ){\n\t // //this.debug( '_dragenterElements:', ev );\n\t //},\n\t //TODO: if selected are dragged out of the list area - remove the placeholder - cuz it won't work anyway\n\t // _dragleaveElements : function( ev ){\n\t // //this.debug( '_dragleaveElements:', ev );\n\t // },\n\t\n\t /** track the mouse drag over the list adding a placeholder to show where the drop would occur */\n\t _dragoverElements: function (ev) {\n\t //this.debug( '_dragoverElements:', ev );\n\t ev.preventDefault();\n\t\n\t var $list = this.$list();\n\t this._checkForAutoscroll($list, ev.originalEvent.clientY);\n\t var $nearest = this._getNearestElement(ev.originalEvent.clientY);\n\t\n\t //TODO: no need to re-create - move instead\n\t this.$('.element-drop-placeholder').remove();\n\t var $placeholder = $('');\n\t if (!$nearest.length) {\n\t $list.append($placeholder);\n\t } else {\n\t $nearest.before($placeholder);\n\t }\n\t },\n\t\n\t /** If the mouse is near enough to the list's top or bottom, scroll the list */\n\t _checkForAutoscroll: function ($element, y) {\n\t var AUTOSCROLL_SPEED = 2,\n\t offset = $element.offset(),\n\t scrollTop = $element.scrollTop(),\n\t upperDist = y - offset.top,\n\t lowerDist = offset.top + $element.outerHeight() - y;\n\t if (upperDist >= 0 && upperDist < this.autoscrollDist) {\n\t $element.scrollTop(scrollTop - AUTOSCROLL_SPEED);\n\t } else if (lowerDist >= 0 && lowerDist < this.autoscrollDist) {\n\t $element.scrollTop(scrollTop + AUTOSCROLL_SPEED);\n\t }\n\t },\n\t\n\t /** get the nearest element based on the mouse's Y coordinate.\n\t * If the y is at the end of the list, return an empty jQuery object.\n\t */\n\t _getNearestElement: function (y) {\n\t var WIGGLE = 4,\n\t lis = this.$('.collection-elements li.collection-element').toArray();\n\t for (var i = 0; i < lis.length; i++) {\n\t var $li = $(lis[i]),\n\t top = $li.offset().top,\n\t halfHeight = Math.floor($li.outerHeight() / 2) + WIGGLE;\n\t if (top + halfHeight > y && top - halfHeight < y) {\n\t return $li;\n\t }\n\t }\n\t return $();\n\t },\n\t\n\t /** drop (dragged/selected elements) onto the list, re-ordering the internal list */\n\t _dropElements: function (ev) {\n\t if (ev.originalEvent) {\n\t ev = ev.originalEvent;\n\t }\n\t // both required for firefox\n\t ev.preventDefault();\n\t ev.dataTransfer.dropEffect = 'move';\n\t\n\t // insert before the nearest element or after the last.\n\t var $nearest = this._getNearestElement(ev.clientY);\n\t if ($nearest.length) {\n\t this.$dragging.insertBefore($nearest);\n\t } else {\n\t // no nearest before - insert after last element\n\t this.$dragging.insertAfter(this.$('.collection-elements .collection-element').last());\n\t }\n\t // resync the creator's list based on the new DOM order\n\t this._syncOrderToDom();\n\t return false;\n\t },\n\t\n\t /** resync the creator's list of elements based on the DOM order */\n\t _syncOrderToDom: function () {\n\t var creator = this,\n\t newElements = [];\n\t //TODO: doesn't seem wise to use the dom to store these - can't we sync another way?\n\t this.$('.collection-elements .collection-element').each(function () {\n\t var id = $(this).attr('data-element-id'),\n\t element = _.findWhere(creator.workingElements, { id: id });\n\t if (element) {\n\t newElements.push(element);\n\t } else {\n\t console.error('missing element: ', id);\n\t }\n\t });\n\t this.workingElements = newElements;\n\t this._renderList();\n\t },\n\t\n\t /** drag communication with element sub-views: dragstart */\n\t _elementDragstart: function (ev, element) {\n\t // auto select the element causing the event and move all selected\n\t element.select(true);\n\t this.$dragging = this.$('.collection-elements .collection-element.selected');\n\t },\n\t\n\t /** drag communication with element sub-views: dragend - remove the placeholder */\n\t _elementDragend: function (ev, element) {\n\t $('.element-drop-placeholder').remove();\n\t this.$dragging = null;\n\t },\n\t\n\t // ------------------------------------------------------------------------ templates\n\t //TODO: move to require text plugin and load these as text\n\t //TODO: underscore currently unnecc. bc no vars are used\n\t //TODO: better way of localizing text-nodes in long strings\n\t /** underscore template fns attached to class */\n\t templates: _.extend({}, baseCreator.CollectionCreatorMixin._creatorTemplates, {\n\t\n\t /** the header (not including help text) */\n\t header: _.template(['
', _l(['Collections of datasets are permanent, ordered lists of datasets that can be passed to tools and ', 'workflows in order to have analyses done on each member of the entire group. This interface allows ', 'you to create a collection and re-order the final collection.'].join('')), '
', '', _l(['Once your collection is complete, enter a name and ', 'click \"Create list\".'].join('')), '
'].join('')),\n\t\n\t /** shown in list when all elements are discarded */\n\t invalidElements: _.template([_l('The following selections could not be included due to problems:'), '<%= dataset.peek %>', '<% } %>', '<% } %>', '
| ' + ' | Name | ' + 'Size | ' + 'Created | ' + '
|---|
' + JSON.stringify(xhr.responseJSON) + '';\n\t } else {\n\t content += ': ' + message;\n\t }\n\t }\n\t creator._showAlert(content, 'alert-danger');\n\t },\n\t\n\t // ------------------------------------------------------------------------ rendering\n\t /** render the entire interface */\n\t render: function (speed, callback) {\n\t //this.debug( '-- _render' );\n\t //this.$el.empty().html( this.templates.main() );\n\t this.$el.empty().html(this.templates.main());\n\t this._renderHeader(speed);\n\t this._renderMiddle(speed);\n\t this._renderFooter(speed);\n\t this._addPluginComponents();\n\t this.trigger('rendered', this);\n\t return this;\n\t },\n\t\n\t /** render the header section */\n\t _renderHeader: function (speed, callback) {\n\t //this.debug( '-- _renderHeader' );\n\t var $header = this.$('.header').empty().html(this.templates.header()).find('.help-content').prepend($(this.templates.helpContent()));\n\t\n\t this._renderFilters();\n\t return $header;\n\t },\n\t /** fill the filter inputs with the filter values */\n\t _renderFilters: function () {\n\t return this.$('.forward-column .column-header input').val(this.filters[0]).add(this.$('.reverse-column .column-header input').val(this.filters[1]));\n\t },\n\t\n\t /** render the middle including unpaired and paired sections (which may be hidden) */\n\t _renderMiddle: function (speed, callback) {\n\t var $middle = this.$('.middle').empty().html(this.templates.middle());\n\t\n\t // (re-) hide the un/paired panels based on instance vars\n\t if (this.unpairedPanelHidden) {\n\t this.$('.unpaired-columns').hide();\n\t } else if (this.pairedPanelHidden) {\n\t this.$('.paired-columns').hide();\n\t }\n\t\n\t this._renderUnpaired();\n\t this._renderPaired();\n\t return $middle;\n\t },\n\t /** render the unpaired section, showing datasets accrd. to filters, update the unpaired counts */\n\t _renderUnpaired: function (speed, callback) {\n\t //this.debug( '-- _renderUnpaired' );\n\t var creator = this,\n\t $fwd,\n\t $rev,\n\t $prd = [],\n\t split = this._splitByFilters();\n\t // update unpaired counts\n\t this.$('.forward-column .title').text([split[0].length, _l('unpaired forward')].join(' '));\n\t this.$('.forward-column .unpaired-info').text(this._renderUnpairedDisplayStr(this.unpaired.length - split[0].length));\n\t this.$('.reverse-column .title').text([split[1].length, _l('unpaired reverse')].join(' '));\n\t this.$('.reverse-column .unpaired-info').text(this._renderUnpairedDisplayStr(this.unpaired.length - split[1].length));\n\t\n\t this.$('.unpaired-columns .column-datasets').empty();\n\t\n\t // show/hide the auto pair button if any unpaired are left\n\t this.$('.autopair-link').toggle(this.unpaired.length !== 0);\n\t if (this.unpaired.length === 0) {\n\t this._renderUnpairedEmpty();\n\t return;\n\t }\n\t\n\t // create the dataset dom arrays\n\t $rev = split[1].map(function (dataset, i) {\n\t // if there'll be a fwd dataset across the way, add a button to pair the row\n\t if (split[0][i] !== undefined && split[0][i] !== dataset) {\n\t $prd.push(creator._renderPairButton());\n\t }\n\t return creator._renderUnpairedDataset(dataset);\n\t });\n\t $fwd = split[0].map(function (dataset) {\n\t return creator._renderUnpairedDataset(dataset);\n\t });\n\t\n\t if (!$fwd.length && !$rev.length) {\n\t this._renderUnpairedNotShown();\n\t return;\n\t }\n\t // add to appropo cols\n\t //TODO: not the best way to render - consider rendering the entire unpaired-columns section in a fragment\n\t // and swapping out that\n\t this.$('.unpaired-columns .forward-column .column-datasets').append($fwd).add(this.$('.unpaired-columns .paired-column .column-datasets').append($prd)).add(this.$('.unpaired-columns .reverse-column .column-datasets').append($rev));\n\t this._adjUnpairedOnScrollbar();\n\t },\n\t /** return a string to display the count of filtered out datasets */\n\t _renderUnpairedDisplayStr: function (numFiltered) {\n\t return ['(', numFiltered, ' ', _l('filtered out'), ')'].join('');\n\t },\n\t /** return an unattached jQuery DOM element to represent an unpaired dataset */\n\t _renderUnpairedDataset: function (dataset) {\n\t //TODO: to underscore template\n\t return $('').attr('id', 'dataset-' + dataset.id).addClass('dataset unpaired').attr('draggable', true).addClass(dataset.selected ? 'selected' : '').append($('').addClass('dataset-name').text(dataset.name))\n\t //??\n\t .data('dataset', dataset);\n\t },\n\t /** render the button that may go between unpaired datasets, allowing the user to pair a row */\n\t _renderPairButton: function () {\n\t //TODO: *not* a dataset - don't pretend like it is\n\t return $('').addClass('dataset unpaired').append($('').addClass('dataset-name').text(_l('Pair these datasets')));\n\t },\n\t /** a message to display when no unpaired left */\n\t _renderUnpairedEmpty: function () {\n\t //this.debug( '-- renderUnpairedEmpty' );\n\t var $msg = $('').text('(' + _l('no remaining unpaired datasets') + ')');\n\t this.$('.unpaired-columns .paired-column .column-datasets').empty().prepend($msg);\n\t return $msg;\n\t },\n\t /** a message to display when no unpaired can be shown with the current filters */\n\t _renderUnpairedNotShown: function () {\n\t //this.debug( '-- renderUnpairedEmpty' );\n\t var $msg = $('').text('(' + _l('no datasets were found matching the current filters') + ')');\n\t this.$('.unpaired-columns .paired-column .column-datasets').empty().prepend($msg);\n\t return $msg;\n\t },\n\t /** try to detect if the unpaired section has a scrollbar and adjust left column for better centering of all */\n\t _adjUnpairedOnScrollbar: function () {\n\t var $unpairedColumns = this.$('.unpaired-columns').last(),\n\t $firstDataset = this.$('.unpaired-columns .reverse-column .dataset').first();\n\t if (!$firstDataset.length) {\n\t return;\n\t }\n\t var ucRight = $unpairedColumns.offset().left + $unpairedColumns.outerWidth(),\n\t dsRight = $firstDataset.offset().left + $firstDataset.outerWidth(),\n\t rightDiff = Math.floor(ucRight) - Math.floor(dsRight);\n\t //this.debug( 'rightDiff:', ucRight, '-', dsRight, '=', rightDiff );\n\t this.$('.unpaired-columns .forward-column').css('margin-left', rightDiff > 0 ? rightDiff : 0);\n\t },\n\t\n\t /** render the paired section and update counts of paired datasets */\n\t _renderPaired: function (speed, callback) {\n\t //this.debug( '-- _renderPaired' );\n\t this.$('.paired-column-title .title').text([this.paired.length, _l('paired')].join(' '));\n\t // show/hide the unpair all link\n\t this.$('.unpair-all-link').toggle(this.paired.length !== 0);\n\t if (this.paired.length === 0) {\n\t this._renderPairedEmpty();\n\t return;\n\t //TODO: would be best to return here (the $columns)\n\t } else {\n\t // show/hide 'remove extensions link' when any paired and they seem to have extensions\n\t this.$('.remove-extensions-link').show();\n\t }\n\t\n\t this.$('.paired-columns .column-datasets').empty();\n\t var creator = this;\n\t this.paired.forEach(function (pair, i) {\n\t //TODO: cache these?\n\t var pairView = new PairView({ pair: pair });\n\t creator.$('.paired-columns .column-datasets').append(pairView.render().$el).append([''].join(''));\n\t });\n\t },\n\t /** a message to display when none paired */\n\t _renderPairedEmpty: function () {\n\t var $msg = $('').text('(' + _l('no paired datasets yet') + ')');\n\t this.$('.paired-columns .column-datasets').empty().prepend($msg);\n\t return $msg;\n\t },\n\t\n\t footerSettings: {\n\t '.hide-originals': 'hideOriginals',\n\t '.remove-extensions': 'removeExtensions'\n\t },\n\t\n\t /** add any jQuery/bootstrap/custom plugins to elements rendered */\n\t _addPluginComponents: function () {\n\t this._chooseFiltersPopover('.choose-filters-link');\n\t this.$('.help-content i').hoverhighlight('.collection-creator', 'rgba( 64, 255, 255, 1.0 )');\n\t },\n\t\n\t /** build a filter selection popover allowing selection of common filter pairs */\n\t _chooseFiltersPopover: function (selector) {\n\t function filterChoice(val1, val2) {\n\t return [''].join('');\n\t }\n\t var $popoverContent = $(_.template(['
', _l(['Collections of paired datasets are ordered lists of dataset pairs (often forward and reverse reads). ', 'These collections can be passed to tools and workflows in order to have analyses done on each member of ', 'the entire group. This interface allows you to create a collection, choose which datasets are paired, ', 'and re-order the final collection.'].join('')), '
', '', _l(['Unpaired datasets are shown in the unpaired section ', '(hover over the underlined words to highlight below). ', 'Paired datasets are shown in the paired section.', '
', _l(['
', _l(['To unpair individual dataset pairs, click the ', 'unpair buttons ( ). ', 'Click the \"Unpair all\" link to unpair all pairs.'].join('')), '
', '', _l(['You can include or remove the file extensions (e.g. \".fastq\") from your pair names by toggling the ', '\"Remove file extensions from pair names?\" control.'].join('')), '
', '', _l(['Once your collection is complete, enter a name and ', 'click \"Create list\". ', '(Note: you do not have to pair all unpaired datasets to finish.)'].join('')), '
'].join(''))\n\t })\n\t });\n\t\n\t //=============================================================================\n\t /** a modal version of the paired collection creator */\n\t var pairedCollectionCreatorModal = function _pairedCollectionCreatorModal(datasets, options) {\n\t\n\t var deferred = jQuery.Deferred(),\n\t creator;\n\t\n\t options = _.defaults(options || {}, {\n\t datasets: datasets,\n\t oncancel: function () {\n\t Galaxy.modal.hide();\n\t deferred.reject('cancelled');\n\t },\n\t oncreate: function (creator, response) {\n\t Galaxy.modal.hide();\n\t deferred.resolve(response);\n\t }\n\t });\n\t\n\t if (!window.Galaxy || !Galaxy.modal) {\n\t throw new Error('Galaxy or Galaxy.modal not found');\n\t }\n\t\n\t creator = new PairedCollectionCreator(options);\n\t Galaxy.modal.show({\n\t title: 'Create a collection of paired datasets',\n\t body: creator.$el,\n\t width: '80%',\n\t height: '800px',\n\t closing_events: true\n\t });\n\t creator.render();\n\t window.creator = creator;\n\t\n\t //TODO: remove modal header\n\t return deferred;\n\t };\n\t\n\t //=============================================================================\n\t function createListOfPairsCollection(collection, defaultHideSourceItems) {\n\t var elements = collection.toJSON();\n\t //TODO: validate elements\n\t return pairedCollectionCreatorModal(elements, {\n\t historyId: collection.historyId,\n\t defaultHideSourceItems: defaultHideSourceItems\n\t });\n\t }\n\t\n\t //=============================================================================\n\t return {\n\t PairedCollectionCreator: PairedCollectionCreator,\n\t pairedCollectionCreatorModal: pairedCollectionCreatorModal,\n\t createListOfPairsCollection: createListOfPairsCollection\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(2), __webpack_require__(1), __webpack_require__(1)))\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(Backbone, _, jQuery) {!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(35), __webpack_require__(42), __webpack_require__(6), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_RESULT__ = function (LIST_CREATOR, HDCA, BASE_MVC, _l) {\n\t\n\t 'use strict';\n\t\n\t var logNamespace = 'collections';\n\t /*==============================================================================\n\t TODO:\n\t the paired creator doesn't really mesh with the list creator as parent\n\t it may be better to make an abstract super class for both\n\t composites may inherit from this (or vis-versa)\n\t PairedDatasetCollectionElementView doesn't make a lot of sense\n\t \n\t ==============================================================================*/\n\t /** */\n\t var PairedDatasetCollectionElementView = Backbone.View.extend(BASE_MVC.LoggableMixin).extend({\n\t _logNamespace: logNamespace,\n\t\n\t //TODO: use proper class (DatasetDCE or NestedDCDCE (or the union of both))\n\t tagName: 'li',\n\t className: 'collection-element',\n\t\n\t initialize: function (attributes) {\n\t this.element = attributes.element || {};\n\t this.identifier = attributes.identifier;\n\t },\n\t\n\t render: function () {\n\t this.$el.attr('data-element-id', this.element.id).html(this.template({ identifier: this.identifier, element: this.element }));\n\t return this;\n\t },\n\t\n\t //TODO: lots of unused space in the element - possibly load details and display them horiz.\n\t template: _.template(['<%- identifier %>', '<%- element.name %>'].join('')),\n\t\n\t /** remove the DOM and any listeners */\n\t destroy: function () {\n\t this.off();\n\t this.$el.remove();\n\t },\n\t\n\t /** string rep */\n\t toString: function () {\n\t return 'DatasetCollectionElementView()';\n\t }\n\t });\n\t\n\t // ============================================================================\n\t var _super = LIST_CREATOR.ListCollectionCreator;\n\t\n\t /** An interface for building collections.\n\t */\n\t var PairCollectionCreator = _super.extend({\n\t\n\t /** the class used to display individual elements */\n\t elementViewClass: PairedDatasetCollectionElementView,\n\t /** the class this creator will create and save */\n\t collectionClass: HDCA.HistoryPairDatasetCollection,\n\t className: 'pair-collection-creator collection-creator flex-row-container',\n\t\n\t /** override to no-op */\n\t _mangleDuplicateNames: function () {},\n\t\n\t // TODO: this whole pattern sucks. There needs to be two classes of problem area:\n\t // bad inital choices and\n\t // when the user has painted his/her self into a corner during creation/use-of-the-creator\n\t /** render the entire interface */\n\t render: function (speed, callback) {\n\t if (this.workingElements.length === 2) {\n\t return _super.prototype.render.call(this, speed, callback);\n\t }\n\t return this._renderInvalid(speed, callback);\n\t },\n\t\n\t // ------------------------------------------------------------------------ rendering elements\n\t /** render forward/reverse */\n\t _renderList: function (speed, callback) {\n\t //this.debug( '-- _renderList' );\n\t //precondition: there are two valid elements in workingElements\n\t var creator = this,\n\t $tmp = jQuery(''),\n\t $list = creator.$list();\n\t\n\t // lose the original views, create the new, append all at once, then call their renders\n\t _.each(this.elementViews, function (view) {\n\t view.destroy();\n\t creator.removeElementView(view);\n\t });\n\t $tmp.append(creator._createForwardElementView().$el);\n\t $tmp.append(creator._createReverseElementView().$el);\n\t $list.empty().append($tmp.children());\n\t _.invoke(creator.elementViews, 'render');\n\t },\n\t\n\t /** create the forward element view */\n\t _createForwardElementView: function () {\n\t return this._createElementView(this.workingElements[0], { identifier: 'forward' });\n\t },\n\t\n\t /** create the forward element view */\n\t _createReverseElementView: function () {\n\t return this._createElementView(this.workingElements[1], { identifier: 'reverse' });\n\t },\n\t\n\t /** create an element view, cache in elementViews, and return */\n\t _createElementView: function (element, options) {\n\t var elementView = new this.elementViewClass(_.extend(options, {\n\t element: element\n\t }));\n\t this.elementViews.push(elementView);\n\t return elementView;\n\t },\n\t\n\t /** swap the forward, reverse elements and re-render */\n\t swap: function () {\n\t this.workingElements = [this.workingElements[1], this.workingElements[0]];\n\t this._renderList();\n\t },\n\t\n\t events: _.extend(_.clone(_super.prototype.events), {\n\t 'click .swap': 'swap'\n\t }),\n\t\n\t // ------------------------------------------------------------------------ templates\n\t //TODO: move to require text plugin and load these as text\n\t //TODO: underscore currently unnecc. bc no vars are used\n\t //TODO: better way of localizing text-nodes in long strings\n\t /** underscore template fns attached to class */\n\t templates: _.extend(_.clone(_super.prototype.templates), {\n\t /** the middle: element list */\n\t middle: _.template(['', _l(['Pair collections are permanent collections containing two datasets: one forward and one reverse. ', 'Often these are forward and reverse reads. The pair collections can be passed to tools and ', 'workflows in order to have analyses done on both datasets. This interface allows ', 'you to create a pair, name it, and swap which is forward and which reverse.'].join('')), '
', '', _l(['Once your collection is complete, enter a name and ', 'click \"Create list\".'].join('')), '
'].join('')),\n\t\n\t /** a simplified page communicating what went wrong and why the user needs to reselect something else */\n\t invalidInitial: _.template(['' + this.progressive + '...
';\n\t this.modal.$('.modal-body').empty().append(indicator).css({ 'margin-top': '8px' });\n\t },\n\t\n\t // (sorta) public interface - display the modal, render the form, and potentially copy the history\n\t // returns a jQuery.Deferred done->history copied, fail->user cancelled\n\t dialog: function _dialog(modal, history, options) {\n\t options = options || {};\n\t\n\t var dialog = this,\n\t deferred = jQuery.Deferred(),\n\t\n\t // TODO: getting a little byzantine here\n\t defaultCopyNameFn = options.nameFn || this.defaultName,\n\t defaultCopyName = defaultCopyNameFn({ name: history.get('name') }),\n\t\n\t // TODO: these two might be simpler as one 3 state option (all,active,no-choice)\n\t defaultCopyWhat = options.allDatasets ? 'copy-all' : 'copy-non-deleted',\n\t allowAll = !_.isUndefined(options.allowAll) ? options.allowAll : true,\n\t autoClose = !_.isUndefined(options.autoClose) ? options.autoClose : true;\n\t\n\t this.modal = modal;\n\t\n\t // validate the name and copy if good\n\t function checkNameAndCopy() {\n\t var name = modal.$('#copy-modal-title').val();\n\t if (!name) {\n\t modal.$('.invalid-title').show();\n\t return;\n\t }\n\t // get further settings, shut down and indicate the ajax call, then hide and resolve/reject\n\t var copyAllDatasets = modal.$('input[name=\"copy-what\"]:checked').val() === 'copy-all';\n\t modal.$('button').prop('disabled', true);\n\t dialog._showAjaxIndicator();\n\t history.copy(true, name, copyAllDatasets).done(function (response) {\n\t deferred.resolve(response);\n\t }).fail(function (xhr, status, message) {\n\t var options = { name: name, copyAllDatasets: copyAllDatasets };\n\t ERROR_MODAL.ajaxErrorModal(history, xhr, options, dialog.errorMessage);\n\t deferred.rejectWith(deferred, arguments);\n\t }).done(function () {\n\t if (autoClose) {\n\t modal.hide();\n\t }\n\t });\n\t }\n\t\n\t var originalClosingCallback = options.closing_callback;\n\t modal.show(_.extend(options, {\n\t title: this.title({ name: history.get('name') }),\n\t body: $(dialog._template({\n\t name: defaultCopyName,\n\t isAnon: Galaxy.user.isAnonymous(),\n\t allowAll: allowAll,\n\t copyWhat: defaultCopyWhat,\n\t activeLabel: this.activeLabel,\n\t allLabel: this.allLabel,\n\t anonWarning: this.anonWarning\n\t })),\n\t buttons: _.object([[_l('Cancel'), function () {\n\t modal.hide();\n\t }], [this.submitLabel, checkNameAndCopy]]),\n\t height: 'auto',\n\t closing_events: true,\n\t closing_callback: function _historyCopyClose(cancelled) {\n\t if (cancelled) {\n\t deferred.reject({ cancelled: true });\n\t }\n\t if (originalClosingCallback) {\n\t originalClosingCallback(cancelled);\n\t }\n\t }\n\t }));\n\t\n\t // set the default dataset copy, autofocus the title, and set up for a simple return\n\t modal.$('#copy-modal-title').focus().select();\n\t modal.$('#copy-modal-title').on('keydown', function (ev) {\n\t if (ev.keyCode === 13) {\n\t ev.preventDefault();\n\t checkNameAndCopy();\n\t }\n\t });\n\t\n\t return deferred;\n\t }\n\t };\n\t\n\t //==============================================================================\n\t // maintain the (slight) distinction between copy and import\n\t /**\n\t * Subclass CopyDialog to use the import language.\n\t */\n\t var ImportDialog = _.extend({}, CopyDialog, {\n\t defaultName: _.template(\"imported: <%- name %>\"),\n\t title: _.template(_l('Importing history') + ' \"<%- name %>\"'),\n\t submitLabel: _l('Import'),\n\t errorMessage: _l('History could not be imported.'),\n\t progressive: _l('Importing history'),\n\t activeLabel: _l('Import only the active, non-deleted datasets'),\n\t allLabel: _l('Import all datasets including deleted ones'),\n\t anonWarning: _l('As an anonymous user, unless you login or register, you will lose your current history ') + _l('after importing this history. ')\n\t\n\t });\n\t\n\t //==============================================================================\n\t /**\n\t * Main interface for both history import and history copy dialogs.\n\t * @param {Backbone.Model} history the history to copy\n\t * @param {Object} options a hash\n\t * @return {jQuery.Deferred} promise that fails on close and succeeds on copy\n\t *\n\t * options:\n\t * (this object is also passed to the modal used to display the dialog and accepts modal options)\n\t * {Function} nameFn if defined, use this to build the default name shown to the user\n\t * (the fn is passed: {name:| Name | ' + 'Size | ' + 'Status | ' + '' + ' |
|---|
| ' + ' | ' + ' | Description | ' + 'Name | ' + 'Size | ' + 'Settings | ' + 'Status | ' + '
|---|
| Name | ' + 'Size | ' + 'Type | ' + 'Genome | ' + 'Settings | ' + 'Status | ' + '' + ' |
|---|
' + 'The length format is two-column, separated by whitespace, of the form:' + '
chrom/contig length of chrom/contig' + '' + '
' + 'For example, the first few entries of mm9.len are as follows:' + '
' + 'chr1 197195432\\n' + 'chr2 181748087\\n' + 'chr3 159599783\\n' + 'chr4 155630120\\n' + 'chr5 152537259' + '' + '' + '
Trackster uses this information to populate the select box for chrom/contig, and' + 'to set the maximum basepair of the track browser. You may either upload a .len file' + 'of this format (Len File option), or directly enter the information into the box ' + '(Len Entry option).
';\n\t },\n\t\n\t _templateFasta: function () {\n\t return '' + 'This is a multi-fasta file from your current history that provides the genome' + 'sequences for each chromosome/contig in your build.' + '
' + '' + 'Here is a snippet from an example multi-fasta file:' + '
' + '>chr1\\n' + 'ATTATATATAAGACCACAGAGAGAATATTTTGCCCGG...\\n\\n' + '>chr2\\n' + 'GGCGGCCGCGGCGATATAGAACTACTCATTATATATA...\\n\\n' + '...' + '' + '';\n\t }\n\t });\n\t\n\t return {\n\t View: View\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(1)))\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(Backbone, $, _) {/** User Preferences view */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(21), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Form, Ui) {\n\t\n\t /** Contains descriptive dictionaries describing user forms */\n\t var Model = Backbone.Model.extend({\n\t initialize: function (options) {\n\t options = options || {};\n\t options.user_id = options.user_id || Galaxy.user.id;\n\t this.set({\n\t 'user_id': options.user_id,\n\t 'information': {\n\t title: 'Manage information',\n\t description: 'Edit your email, addresses and custom parameters or change your username.',\n\t url: 'api/users/' + options.user_id + '/information/inputs',\n\t icon: 'fa-user'\n\t },\n\t 'password': {\n\t title: 'Change password',\n\t description: 'Allows you to change your login credentials.',\n\t icon: 'fa-unlock-alt',\n\t url: 'api/users/' + options.user_id + '/password/inputs',\n\t submit_title: 'Save password'\n\t },\n\t 'communication': {\n\t title: 'Change communication settings',\n\t description: 'Enable or disable the communication feature to chat with other users.',\n\t url: 'api/users/' + options.user_id + '/communication/inputs',\n\t icon: 'fa-comments-o'\n\t },\n\t 'permissions': {\n\t title: 'Set dataset permissions for new histories',\n\t description: 'Grant others default access to newly created histories. Changes made here will only affect histories created after these settings have been stored.',\n\t url: 'api/users/' + options.user_id + '/permissions/inputs',\n\t icon: 'fa-users',\n\t submit_title: 'Save permissions'\n\t },\n\t 'api_key': {\n\t title: 'Manage API key',\n\t description: 'Access your current API key or create a new one.',\n\t url: 'api/users/' + options.user_id + '/api_key/inputs',\n\t icon: 'fa-key',\n\t submit_title: 'Create a new key',\n\t submit_icon: 'fa-check'\n\t },\n\t 'toolbox_filters': {\n\t title: 'Manage Toolbox filters',\n\t description: 'Customize your Toolbox by displaying or omitting sets of Tools.',\n\t url: 'api/users/' + options.user_id + '/toolbox_filters/inputs',\n\t icon: 'fa-filter',\n\t submit_title: 'Save filters'\n\t },\n\t 'openids': {\n\t title: 'Manage OpenIDs',\n\t description: 'Associate OpenIDs with your account.',\n\t icon: 'fa-openid',\n\t onclick: function () {\n\t window.location.href = Galaxy.root + 'user/openid_manage?cntrller=user&use_panels=True';\n\t }\n\t },\n\t 'custom_builds': {\n\t title: 'Manage custom builds',\n\t description: 'Add or remove custom builds using history datasets.',\n\t icon: 'fa-cubes',\n\t onclick: function () {\n\t window.location.href = Galaxy.root + 'custom_builds';\n\t }\n\t },\n\t 'logout': {\n\t title: 'Sign out',\n\t description: 'Click here to sign out of all sessions.',\n\t icon: 'fa-sign-out',\n\t onclick: function () {\n\t Galaxy.modal.show({\n\t title: 'Sign out',\n\t body: 'Do you want to continue and sign out of all active sessions?',\n\t buttons: {\n\t 'Cancel': function () {\n\t Galaxy.modal.hide();\n\t },\n\t 'Sign out': function () {\n\t window.location.href = Galaxy.root + 'user/logout';\n\t }\n\t }\n\t });\n\t }\n\t }\n\t });\n\t }\n\t });\n\t\n\t /** View of the main user preference panel with links to individual user forms */\n\t var View = Backbone.View.extend({\n\t\n\t initialize: function () {\n\t this.model = new Model();\n\t this.message = new Ui.Message();\n\t this.setElement('');\n\t this.render();\n\t },\n\t\n\t render: function () {\n\t var self = this;\n\t var config = Galaxy.config;\n\t $.getJSON(Galaxy.root + 'api/users/' + Galaxy.user.id, function (data) {\n\t self.$preferences = $('').addClass('ui-panel').append(self.message.$el).append($('').append('User preferences')).append($('').append('You are logged in as ' + _.escape(data.email) + '.')).append(self.$table = $('
' + 'You are using ' + options.nice_total_disk_usage + ' of disk space in this Galaxy instance. ' + (Galaxy.config.enable_quotas ? 'Your disk quota is: ' + options.quota + '. ' : '') + 'Is your usage more than expected? See the documentation for tips on how to find all of the data in your account.' + '
';\n\t }\n\t });\n\t\n\t /** View of individual user forms */\n\t var Forms = Backbone.View.extend({\n\t\n\t initialize: function (options) {\n\t this.model = new Model(options);\n\t this.page = this.model.get(options.form_id);\n\t this.setElement('');\n\t this.render();\n\t },\n\t\n\t render: function () {\n\t var self = this;\n\t $.ajax({\n\t url: Galaxy.root + this.page.url,\n\t type: 'GET'\n\t }).done(function (response) {\n\t var options = $.extend({}, self.page, response);\n\t var form = new Form({\n\t title: options.title,\n\t icon: options.icon,\n\t inputs: options.inputs,\n\t operations: {\n\t 'submit': new Ui.ButtonIcon({\n\t tooltip: options.submit_tooltip,\n\t title: options.submit_title || 'Save settings',\n\t icon: options.submit_icon || 'fa-save',\n\t onclick: function () {\n\t self._submit(form, options);\n\t }\n\t })\n\t }\n\t });\n\t self.$el.empty().append(form.$el);\n\t }).fail(function (response) {\n\t self.$el.empty().append(new Ui.Message({\n\t message: 'Failed to load resource ' + self.page.url + '.',\n\t status: 'danger',\n\t persistent: true\n\t }).$el);\n\t });\n\t },\n\t\n\t _submit: function (form, options) {\n\t var self = this;\n\t $.ajax({\n\t url: Galaxy.root + options.url,\n\t data: JSON.stringify(form.data.create()),\n\t type: 'PUT',\n\t contentType: 'application/json'\n\t }).done(function (response) {\n\t form.data.matchModel(response, function (input, input_id) {\n\t form.field_list[input_id].value(input.value);\n\t });\n\t form.message.update({ message: response.message, status: 'success' });\n\t }).fail(function (response) {\n\t form.message.update({ message: response.responseJSON.err_msg, status: 'danger' });\n\t });\n\t }\n\t });\n\t\n\t return {\n\t View: View,\n\t Forms: Forms\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(1), __webpack_require__(2)))\n\n/***/ }),\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(jQuery, $) {(function (root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else {\n\t // Browser globals\n\t root.LoadingIndicator = factory();\n\t }\n\t\n\t //============================================================================\n\t})(this, function () {\n\t //TODO: too specific to history panel\n\t function LoadingIndicator($where, options) {\n\t\n\t var self = this;\n\t // defaults\n\t options = jQuery.extend({\n\t cover: false\n\t }, options || {});\n\t\n\t function render() {\n\t var html = ['\" + this.formattedReference() + \"
\" );\n return this;\n },\n formattedReference: function() {\n var model = this.model;\n var entryType = model.entryType();\n var fields = model.fields();\n\n var ref = \"\";\n // Code inspired by...\n // https://github.com/vkaravir/bib-publication-list/blob/master/src/bib-publication-list.js\n var authorsAndYear = this._asSentence( (fields.author ? fields.author : \"\") + (fields.year ? (\" (\" + fields.year + \")\") : \"\") ) + \" \";\n var title = fields.title || \"\";\n var pages = fields.pages ? (\"pp. \" + fields.pages) : \"\";\n var address = fields.address;\n if( entryType == \"article\" ) {\n var volume = (fields.volume ? fields.volume : \"\") +\n (fields.number ? ( \" (\" + fields.number + \")\" ) : \"\") +\n (pages ? \", \" + pages : \"\");\n ref = authorsAndYear + this._asSentence(title) +\n (fields.journal ? (\"In \" + fields.journal + \", \") : \"\") +\n this._asSentence(volume) + \n this._asSentence(fields.address) +\n \"<\\/em>\";\n } else if( entryType == \"inproceedings\" || entryType == \"proceedings\" ) {\n ref = authorsAndYear + \n this._asSentence(title) + \n (fields.booktitle ? (\"In \" + fields.booktitle + \", \") : \"\") +\n (pages ? pages : \"\") +\n (address ? \", \" + address : \"\") + \n \".<\\/em>\";\n } else if( entryType == \"mastersthesis\" || entryType == \"phdthesis\" ) {\n ref = authorsAndYear + this._asSentence(title) +\n (fields.howpublished ? fields.howpublished + \". \" : \"\") +\n (fields.note ? fields.note + \".\" : \"\");\n } else if( entryType == \"techreport\" ) {\n ref = authorsAndYear + this._asSentence(title) +\n this._asSentence(fields.institution) +\n this._asSentence(fields.number) +\n this._asSentence(fields.type);\n } else if( entryType == \"book\" || entryType == \"inbook\" || entryType == \"incollection\" ) {\n ref = authorsAndYear + \" \" + this._formatBookInfo(fields);\n } else {\n ref = authorsAndYear + \" \" + this._asSentence(title) +\n this._asSentence(fields.howpublished) +\n this._asSentence(fields.note);\n }\n var doiUrl = \"\";\n if( fields.doi ) {\n doiUrl = 'http://dx.doi.org/' + fields.doi;\n ref += '[doi:' + fields.doi + \"]\";\n }\n var url = fields.url || doiUrl;\n if( url ) {\n ref += '[Link]';\n }\n return ref;\n },\n _formatBookInfo: function(fields) {\n var info = \"\";\n if( fields.chapter ) {\n info += fields.chapter + \" in \";\n }\n if( fields.title ) {\n info += \"\" + fields.title + \"<\\/em>\";\n }\n if( fields.editor ) {\n info += \", Edited by \" + fields.editor + \", \";\n }\n if( fields.publisher) {\n info += \", \" + fields.publisher;\n }\n if( fields.pages ) {\n info += \", pp. \" + fields.pages + \"\";\n }\n if( fields.series ) {\n info += \", \" + fields.series + \"<\\/em>\";\n }\n if( fields.volume ) {\n info += \", Vol.\" + fields.volume;\n }\n if( fields.issn ) {\n info += \", ISBN: \" + fields.issn;\n }\n return info + \".\";\n },\n _asSentence: function(str) {\n return (str && str.trim()) ? str + \". \" : \"\";\n }\n});\n\nvar CitationListView = Backbone.View.extend({\n el: '#citations',\n /**\n * Set up view.\n */\n initialize: function() {\n this.listenTo( this.collection, 'add', this.renderCitation );\n },\n\n events: {\n 'click .citations-to-bibtex': 'showBibtex',\n 'click .citations-to-formatted': 'showFormatted'\n },\n\n renderCitation: function( citation ) {\n var citationView = new CitationView( { model: citation } );\n this.$(\".citations-formatted\").append( citationView.render().el );\n var rawTextarea = this.$(\".citations-bibtex-text\");\n rawTextarea.val( rawTextarea.val() + \"\\n\\r\" + citation.attributes.content );\n },\n\n render: function() {\n this.$el.html(this.citationsElement());\n this.collection.each(function( item ){\n this.renderCitation( item );\n }, this);\n this.showFormatted();\n },\n\n showBibtex: function() {\n this.$(\".citations-to-formatted\").show();\n this.$(\".citations-to-bibtex\").hide();\n this.$(\".citations-bibtex\").show();\n this.$(\".citations-formatted\").hide();\n this.$(\".citations-bibtex-text\").select();\n },\n\n showFormatted: function() {\n this.$(\".citations-to-formatted\").hide();\n this.$(\".citations-to-bibtex\").show();\n this.$(\".citations-bibtex\").hide();\n this.$(\".citations-formatted\").show();\n },\n\n partialWarningElement: function() {\n if( this.collection.partial ) {\n return [\n '' + JSON.stringify( xhr.responseJSON ) + '';\n } else {\n content += ': ' + message;\n }\n }\n creator._showAlert( content, 'alert-danger' );\n },\n\n events : {\n // header\n 'click .more-help' : '_clickMoreHelp',\n 'click .less-help' : '_clickLessHelp',\n 'click .main-help' : '_toggleHelp',\n 'click .header .alert button' : '_hideAlert',\n\n 'click .reset' : 'reset',\n 'click .clear-selected' : 'clearSelectedElements',\n\n // elements - selection\n 'click .collection-elements' : 'clearSelectedElements',\n\n // elements - drop target\n // 'dragenter .collection-elements': '_dragenterElements',\n // 'dragleave .collection-elements': '_dragleaveElements',\n 'dragover .collection-elements' : '_dragoverElements',\n 'drop .collection-elements' : '_dropElements',\n\n // these bubble up from the elements as custom events\n 'collection-element.dragstart .collection-elements' : '_elementDragstart',\n 'collection-element.dragend .collection-elements' : '_elementDragend',\n\n // footer\n 'change .collection-name' : '_changeName',\n 'keydown .collection-name' : '_nameCheckForEnter',\n 'change .hide-originals' : '_changeHideOriginals',\n 'click .cancel-create' : '_cancelCreate',\n 'click .create-collection' : '_clickCreate'//,\n },\n\n // ........................................................................ elements\n /** reset all data to the initial state */\n reset : function(){\n this._instanceSetUp();\n this._elementsSetUp();\n this.render();\n },\n\n /** deselect all elements */\n clearSelectedElements : function( ev ){\n this.$( '.collection-elements .collection-element' ).removeClass( 'selected' );\n this.$( '.collection-elements-controls > .clear-selected' ).hide();\n },\n\n //_dragenterElements : function( ev ){\n // //this.debug( '_dragenterElements:', ev );\n //},\n//TODO: if selected are dragged out of the list area - remove the placeholder - cuz it won't work anyway\n // _dragleaveElements : function( ev ){\n // //this.debug( '_dragleaveElements:', ev );\n // },\n\n /** track the mouse drag over the list adding a placeholder to show where the drop would occur */\n _dragoverElements : function( ev ){\n //this.debug( '_dragoverElements:', ev );\n ev.preventDefault();\n\n var $list = this.$list();\n this._checkForAutoscroll( $list, ev.originalEvent.clientY );\n var $nearest = this._getNearestElement( ev.originalEvent.clientY );\n\n //TODO: no need to re-create - move instead\n this.$( '.element-drop-placeholder' ).remove();\n var $placeholder = $( '' );\n if( !$nearest.length ){\n $list.append( $placeholder );\n } else {\n $nearest.before( $placeholder );\n }\n },\n\n /** If the mouse is near enough to the list's top or bottom, scroll the list */\n _checkForAutoscroll : function( $element, y ){\n var AUTOSCROLL_SPEED = 2,\n offset = $element.offset(),\n scrollTop = $element.scrollTop(),\n upperDist = y - offset.top,\n lowerDist = ( offset.top + $element.outerHeight() ) - y;\n if( upperDist >= 0 && upperDist < this.autoscrollDist ){\n $element.scrollTop( scrollTop - AUTOSCROLL_SPEED );\n } else if( lowerDist >= 0 && lowerDist < this.autoscrollDist ){\n $element.scrollTop( scrollTop + AUTOSCROLL_SPEED );\n }\n },\n\n /** get the nearest element based on the mouse's Y coordinate.\n * If the y is at the end of the list, return an empty jQuery object.\n */\n _getNearestElement : function( y ){\n var WIGGLE = 4,\n lis = this.$( '.collection-elements li.collection-element' ).toArray();\n for( var i=0; i
', _l([\n 'Collections of datasets are permanent, ordered lists of datasets that can be passed to tools and ',\n 'workflows in order to have analyses done on each member of the entire group. This interface allows ',\n 'you to create a collection and re-order the final collection.'\n ].join( '' )), '
',\n '', _l([\n 'Once your collection is complete, enter a name and ',\n 'click \"Create list\".'\n ].join( '' )), '
'\n ].join('')),\n\n /** shown in list when all elements are discarded */\n invalidElements : _.template([\n _l( 'The following selections could not be included due to problems:' ),\n '<%= dataset.peek %>',\n '<% } %>',\n '<% } %>',\n '
| ' +\n ' | Name | ' +\n 'Size | ' +\n 'Created | ' +\n '
|---|
' + JSON.stringify( xhr.responseJSON ) + '';\n } else {\n content += ': ' + message;\n }\n }\n creator._showAlert( content, 'alert-danger' );\n },\n\n // ------------------------------------------------------------------------ rendering\n /** render the entire interface */\n render : function( speed, callback ){\n //this.debug( '-- _render' );\n //this.$el.empty().html( this.templates.main() );\n this.$el.empty().html( this.templates.main() );\n this._renderHeader( speed );\n this._renderMiddle( speed );\n this._renderFooter( speed );\n this._addPluginComponents();\n this.trigger( 'rendered', this );\n return this;\n },\n\n /** render the header section */\n _renderHeader : function( speed, callback ){\n //this.debug( '-- _renderHeader' );\n var $header = this.$( '.header' ).empty().html( this.templates.header() )\n .find( '.help-content' ).prepend( $( this.templates.helpContent() ) );\n\n this._renderFilters();\n return $header;\n },\n /** fill the filter inputs with the filter values */\n _renderFilters : function(){\n return this.$( '.forward-column .column-header input' ).val( this.filters[0] )\n .add( this.$( '.reverse-column .column-header input' ).val( this.filters[1] ) );\n },\n\n /** render the middle including unpaired and paired sections (which may be hidden) */\n _renderMiddle : function( speed, callback ){\n var $middle = this.$( '.middle' ).empty().html( this.templates.middle() );\n\n // (re-) hide the un/paired panels based on instance vars\n if( this.unpairedPanelHidden ){\n this.$( '.unpaired-columns' ).hide();\n } else if( this.pairedPanelHidden ){\n this.$( '.paired-columns' ).hide();\n }\n\n this._renderUnpaired();\n this._renderPaired();\n return $middle;\n },\n /** render the unpaired section, showing datasets accrd. to filters, update the unpaired counts */\n _renderUnpaired : function( speed, callback ){\n //this.debug( '-- _renderUnpaired' );\n var creator = this,\n $fwd, $rev, $prd = [],\n split = this._splitByFilters();\n // update unpaired counts\n this.$( '.forward-column .title' )\n .text([ split[0].length, _l( 'unpaired forward' ) ].join( ' ' ));\n this.$( '.forward-column .unpaired-info' )\n .text( this._renderUnpairedDisplayStr( this.unpaired.length - split[0].length ) );\n this.$( '.reverse-column .title' )\n .text([ split[1].length, _l( 'unpaired reverse' ) ].join( ' ' ));\n this.$( '.reverse-column .unpaired-info' )\n .text( this._renderUnpairedDisplayStr( this.unpaired.length - split[1].length ) );\n\n this.$( '.unpaired-columns .column-datasets' ).empty();\n\n // show/hide the auto pair button if any unpaired are left\n this.$( '.autopair-link' ).toggle( this.unpaired.length !== 0 );\n if( this.unpaired.length === 0 ){\n this._renderUnpairedEmpty();\n return;\n }\n\n // create the dataset dom arrays\n $rev = split[1].map( function( dataset, i ){\n // if there'll be a fwd dataset across the way, add a button to pair the row\n if( ( split[0][ i ] !== undefined )\n && ( split[0][ i ] !== dataset ) ){\n $prd.push( creator._renderPairButton() );\n }\n return creator._renderUnpairedDataset( dataset );\n });\n $fwd = split[0].map( function( dataset ){\n return creator._renderUnpairedDataset( dataset );\n });\n\n if( !$fwd.length && !$rev.length ){\n this._renderUnpairedNotShown();\n return;\n }\n // add to appropo cols\n //TODO: not the best way to render - consider rendering the entire unpaired-columns section in a fragment\n // and swapping out that\n this.$( '.unpaired-columns .forward-column .column-datasets' ).append( $fwd )\n .add( this.$( '.unpaired-columns .paired-column .column-datasets' ).append( $prd ) )\n .add( this.$( '.unpaired-columns .reverse-column .column-datasets' ).append( $rev ) );\n this._adjUnpairedOnScrollbar();\n },\n /** return a string to display the count of filtered out datasets */\n _renderUnpairedDisplayStr : function( numFiltered ){\n return [ '(', numFiltered, ' ', _l( 'filtered out' ), ')' ].join('');\n },\n /** return an unattached jQuery DOM element to represent an unpaired dataset */\n _renderUnpairedDataset : function( dataset ){\n //TODO: to underscore template\n return $( '')\n .attr( 'id', 'dataset-' + dataset.id )\n .addClass( 'dataset unpaired' )\n .attr( 'draggable', true )\n .addClass( dataset.selected? 'selected': '' )\n .append( $( '' ).addClass( 'dataset-name' ).text( dataset.name ) )\n //??\n .data( 'dataset', dataset );\n },\n /** render the button that may go between unpaired datasets, allowing the user to pair a row */\n _renderPairButton : function(){\n //TODO: *not* a dataset - don't pretend like it is\n return $( '').addClass( 'dataset unpaired' )\n .append( $( '' ).addClass( 'dataset-name' ).text( _l( 'Pair these datasets' ) ) );\n },\n /** a message to display when no unpaired left */\n _renderUnpairedEmpty : function(){\n //this.debug( '-- renderUnpairedEmpty' );\n var $msg = $( '' )\n .text( '(' + _l( 'no remaining unpaired datasets' ) + ')' );\n this.$( '.unpaired-columns .paired-column .column-datasets' ).empty().prepend( $msg );\n return $msg;\n },\n /** a message to display when no unpaired can be shown with the current filters */\n _renderUnpairedNotShown : function(){\n //this.debug( '-- renderUnpairedEmpty' );\n var $msg = $( '' )\n .text( '(' + _l( 'no datasets were found matching the current filters' ) + ')' );\n this.$( '.unpaired-columns .paired-column .column-datasets' ).empty().prepend( $msg );\n return $msg;\n },\n /** try to detect if the unpaired section has a scrollbar and adjust left column for better centering of all */\n _adjUnpairedOnScrollbar : function(){\n var $unpairedColumns = this.$( '.unpaired-columns' ).last(),\n $firstDataset = this.$( '.unpaired-columns .reverse-column .dataset' ).first();\n if( !$firstDataset.length ){ return; }\n var ucRight = $unpairedColumns.offset().left + $unpairedColumns.outerWidth(),\n dsRight = $firstDataset.offset().left + $firstDataset.outerWidth(),\n rightDiff = Math.floor( ucRight ) - Math.floor( dsRight );\n //this.debug( 'rightDiff:', ucRight, '-', dsRight, '=', rightDiff );\n this.$( '.unpaired-columns .forward-column' )\n .css( 'margin-left', ( rightDiff > 0 )? rightDiff: 0 );\n },\n\n /** render the paired section and update counts of paired datasets */\n _renderPaired : function( speed, callback ){\n //this.debug( '-- _renderPaired' );\n this.$( '.paired-column-title .title' ).text([ this.paired.length, _l( 'paired' ) ].join( ' ' ) );\n // show/hide the unpair all link\n this.$( '.unpair-all-link' ).toggle( this.paired.length !== 0 );\n if( this.paired.length === 0 ){\n this._renderPairedEmpty();\n return;\n //TODO: would be best to return here (the $columns)\n } else {\n // show/hide 'remove extensions link' when any paired and they seem to have extensions\n this.$( '.remove-extensions-link' ).show();\n }\n\n this.$( '.paired-columns .column-datasets' ).empty();\n var creator = this;\n this.paired.forEach( function( pair, i ){\n //TODO: cache these?\n var pairView = new PairView({ pair: pair });\n creator.$( '.paired-columns .column-datasets' )\n .append( pairView.render().$el )\n .append([\n ''\n ].join( '' ));\n });\n },\n /** a message to display when none paired */\n _renderPairedEmpty : function(){\n var $msg = $( '' )\n .text( '(' + _l( 'no paired datasets yet' ) + ')' );\n this.$( '.paired-columns .column-datasets' ).empty().prepend( $msg );\n return $msg;\n },\n\n footerSettings : {\n '.hide-originals': 'hideOriginals',\n '.remove-extensions': 'removeExtensions'\n },\n\n /** add any jQuery/bootstrap/custom plugins to elements rendered */\n _addPluginComponents : function(){\n this._chooseFiltersPopover( '.choose-filters-link' );\n this.$( '.help-content i' ).hoverhighlight( '.collection-creator', 'rgba( 64, 255, 255, 1.0 )' );\n },\n\n /** build a filter selection popover allowing selection of common filter pairs */\n _chooseFiltersPopover : function( selector ){\n function filterChoice( val1, val2 ){\n return [\n ''\n ].join('');\n }\n var $popoverContent = $( _.template([\n '
', _l([\n 'Collections of paired datasets are ordered lists of dataset pairs (often forward and reverse reads). ',\n 'These collections can be passed to tools and workflows in order to have analyses done on each member of ',\n 'the entire group. This interface allows you to create a collection, choose which datasets are paired, ',\n 'and re-order the final collection.'\n ].join( '' )), '
',\n '', _l([\n 'Unpaired datasets are shown in the unpaired section ',\n '(hover over the underlined words to highlight below). ',\n 'Paired datasets are shown in the paired section.',\n '
', _l([\n '
', _l([\n 'To unpair individual dataset pairs, click the ',\n 'unpair buttons ( ). ',\n 'Click the \"Unpair all\" link to unpair all pairs.'\n ].join( '' )), '
',\n '', _l([\n 'You can include or remove the file extensions (e.g. \".fastq\") from your pair names by toggling the ',\n '\"Remove file extensions from pair names?\" control.'\n ].join( '' )), '
',\n '', _l([\n 'Once your collection is complete, enter a name and ',\n 'click \"Create list\". ',\n '(Note: you do not have to pair all unpaired datasets to finish.)'\n ].join( '' )), '
'\n ].join(''))\n })\n});\n\n//=============================================================================\n/** a modal version of the paired collection creator */\nvar pairedCollectionCreatorModal = function _pairedCollectionCreatorModal( datasets, options ){\n\n var deferred = jQuery.Deferred(),\n creator;\n\n options = _.defaults( options || {}, {\n datasets : datasets,\n oncancel : function(){\n Galaxy.modal.hide();\n deferred.reject( 'cancelled' );\n },\n oncreate : function( creator, response ){\n Galaxy.modal.hide();\n deferred.resolve( response );\n }\n });\n\n if( !window.Galaxy || !Galaxy.modal ){\n throw new Error( 'Galaxy or Galaxy.modal not found' );\n }\n\n creator = new PairedCollectionCreator( options );\n Galaxy.modal.show({\n title : 'Create a collection of paired datasets',\n body : creator.$el,\n width : '80%',\n height : '800px',\n closing_events: true\n });\n creator.render();\n window.creator = creator;\n\n //TODO: remove modal header\n return deferred;\n};\n\n\n//=============================================================================\nfunction createListOfPairsCollection( collection, defaultHideSourceItems ){\n var elements = collection.toJSON();\n//TODO: validate elements\n return pairedCollectionCreatorModal( elements, {\n historyId : collection.historyId,\n defaultHideSourceItems: defaultHideSourceItems\n });\n}\n\n\n//=============================================================================\n return {\n PairedCollectionCreator : PairedCollectionCreator,\n pairedCollectionCreatorModal : pairedCollectionCreatorModal,\n createListOfPairsCollection : createListOfPairsCollection\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./galaxy/scripts/mvc/collection/list-of-pairs-collection-creator.js","define([\n \"mvc/collection/list-collection-creator\",\n \"mvc/history/hdca-model\",\n \"mvc/base-mvc\",\n \"utils/localization\"\n], function( LIST_CREATOR, HDCA, BASE_MVC, _l ){\n\n'use strict';\n\nvar logNamespace = 'collections';\n/*==============================================================================\nTODO:\n the paired creator doesn't really mesh with the list creator as parent\n it may be better to make an abstract super class for both\n composites may inherit from this (or vis-versa)\n PairedDatasetCollectionElementView doesn't make a lot of sense\n\n==============================================================================*/\n/** */\nvar PairedDatasetCollectionElementView = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend({\n _logNamespace : logNamespace,\n\n//TODO: use proper class (DatasetDCE or NestedDCDCE (or the union of both))\n tagName : 'li',\n className : 'collection-element',\n\n initialize : function( attributes ){\n this.element = attributes.element || {};\n this.identifier = attributes.identifier;\n },\n\n render : function(){\n this.$el\n .attr( 'data-element-id', this.element.id )\n .html( this.template({ identifier: this.identifier, element: this.element }) );\n return this;\n },\n\n //TODO: lots of unused space in the element - possibly load details and display them horiz.\n template : _.template([\n '<%- identifier %>',\n '<%- element.name %>',\n ].join('')),\n\n /** remove the DOM and any listeners */\n destroy : function(){\n this.off();\n this.$el.remove();\n },\n\n /** string rep */\n toString : function(){\n return 'DatasetCollectionElementView()';\n }\n});\n\n\n// ============================================================================\nvar _super = LIST_CREATOR.ListCollectionCreator;\n\n/** An interface for building collections.\n */\nvar PairCollectionCreator = _super.extend({\n\n /** the class used to display individual elements */\n elementViewClass : PairedDatasetCollectionElementView,\n /** the class this creator will create and save */\n collectionClass : HDCA.HistoryPairDatasetCollection,\n className : 'pair-collection-creator collection-creator flex-row-container',\n\n /** override to no-op */\n _mangleDuplicateNames : function(){},\n\n // TODO: this whole pattern sucks. There needs to be two classes of problem area:\n // bad inital choices and\n // when the user has painted his/her self into a corner during creation/use-of-the-creator\n /** render the entire interface */\n render : function( speed, callback ){\n if( this.workingElements.length === 2 ){\n return _super.prototype.render.call( this, speed, callback );\n }\n return this._renderInvalid( speed, callback );\n },\n\n // ------------------------------------------------------------------------ rendering elements\n /** render forward/reverse */\n _renderList : function( speed, callback ){\n //this.debug( '-- _renderList' );\n //precondition: there are two valid elements in workingElements\n var creator = this,\n $tmp = jQuery( '' ),\n $list = creator.$list();\n\n // lose the original views, create the new, append all at once, then call their renders\n _.each( this.elementViews, function( view ){\n view.destroy();\n creator.removeElementView( view );\n });\n $tmp.append( creator._createForwardElementView().$el );\n $tmp.append( creator._createReverseElementView().$el );\n $list.empty().append( $tmp.children() );\n _.invoke( creator.elementViews, 'render' );\n },\n\n /** create the forward element view */\n _createForwardElementView : function(){\n return this._createElementView( this.workingElements[0], { identifier: 'forward' } );\n },\n\n /** create the forward element view */\n _createReverseElementView : function(){\n return this._createElementView( this.workingElements[1], { identifier: 'reverse' } );\n },\n\n /** create an element view, cache in elementViews, and return */\n _createElementView : function( element, options ){\n var elementView = new this.elementViewClass( _.extend( options, {\n element : element,\n }));\n this.elementViews.push( elementView );\n return elementView;\n },\n\n /** swap the forward, reverse elements and re-render */\n swap : function(){\n this.workingElements = [\n this.workingElements[1],\n this.workingElements[0],\n ];\n this._renderList();\n },\n\n events : _.extend( _.clone( _super.prototype.events ), {\n 'click .swap' : 'swap',\n }),\n\n // ------------------------------------------------------------------------ templates\n //TODO: move to require text plugin and load these as text\n //TODO: underscore currently unnecc. bc no vars are used\n //TODO: better way of localizing text-nodes in long strings\n /** underscore template fns attached to class */\n templates : _.extend( _.clone( _super.prototype.templates ), {\n /** the middle: element list */\n middle : _.template([\n '', _l([\n 'Pair collections are permanent collections containing two datasets: one forward and one reverse. ',\n 'Often these are forward and reverse reads. The pair collections can be passed to tools and ',\n 'workflows in order to have analyses done on both datasets. This interface allows ',\n 'you to create a pair, name it, and swap which is forward and which reverse.'\n ].join( '' )), '
',\n '', _l([\n 'Once your collection is complete, enter a name and ',\n 'click \"Create list\".'\n ].join( '' )), '
'\n ].join('')),\n\n /** a simplified page communicating what went wrong and why the user needs to reselect something else */\n invalidInitial : _.template([\n '' + this.progressive + '...
';\n this.modal.$( '.modal-body' ).empty().append( indicator ).css({ 'margin-top': '8px' });\n },\n\n // (sorta) public interface - display the modal, render the form, and potentially copy the history\n // returns a jQuery.Deferred done->history copied, fail->user cancelled\n dialog : function _dialog( modal, history, options ){\n options = options || {};\n\n var dialog = this,\n deferred = jQuery.Deferred(),\n // TODO: getting a little byzantine here\n defaultCopyNameFn = options.nameFn || this.defaultName,\n defaultCopyName = defaultCopyNameFn({ name: history.get( 'name' ) }),\n // TODO: these two might be simpler as one 3 state option (all,active,no-choice)\n defaultCopyWhat = options.allDatasets? 'copy-all' : 'copy-non-deleted',\n allowAll = !_.isUndefined( options.allowAll )? options.allowAll : true,\n autoClose = !_.isUndefined( options.autoClose )? options.autoClose : true;\n\n this.modal = modal;\n\n\n // validate the name and copy if good\n function checkNameAndCopy(){\n var name = modal.$( '#copy-modal-title' ).val();\n if( !name ){\n modal.$( '.invalid-title' ).show();\n return;\n }\n // get further settings, shut down and indicate the ajax call, then hide and resolve/reject\n var copyAllDatasets = modal.$( 'input[name=\"copy-what\"]:checked' ).val() === 'copy-all';\n modal.$( 'button' ).prop( 'disabled', true );\n dialog._showAjaxIndicator();\n history.copy( true, name, copyAllDatasets )\n .done( function( response ){\n deferred.resolve( response );\n })\n .fail( function( xhr, status, message ){\n var options = { name: name, copyAllDatasets: copyAllDatasets };\n ERROR_MODAL.ajaxErrorModal( history, xhr, options, dialog.errorMessage );\n deferred.rejectWith( deferred, arguments );\n })\n .done( function(){\n if( autoClose ){ modal.hide(); }\n });\n }\n\n var originalClosingCallback = options.closing_callback;\n modal.show( _.extend( options, {\n title : this.title({ name: history.get( 'name' ) }),\n body : $( dialog._template({\n name : defaultCopyName,\n isAnon : Galaxy.user.isAnonymous(),\n allowAll : allowAll,\n copyWhat : defaultCopyWhat,\n activeLabel : this.activeLabel,\n allLabel : this.allLabel,\n anonWarning : this.anonWarning,\n })),\n buttons : _.object([\n [ _l( 'Cancel' ), function(){ modal.hide(); } ],\n [ this.submitLabel, checkNameAndCopy ]\n ]),\n height : 'auto',\n closing_events : true,\n closing_callback: function _historyCopyClose( cancelled ){\n if( cancelled ){\n deferred.reject({ cancelled : true });\n }\n if( originalClosingCallback ){\n originalClosingCallback( cancelled );\n }\n }\n }));\n\n // set the default dataset copy, autofocus the title, and set up for a simple return\n modal.$( '#copy-modal-title' ).focus().select();\n modal.$( '#copy-modal-title' ).on( 'keydown', function( ev ){\n if( ev.keyCode === 13 ){\n ev.preventDefault();\n checkNameAndCopy();\n }\n });\n\n return deferred;\n },\n};\n\n//==============================================================================\n// maintain the (slight) distinction between copy and import\n/**\n * Subclass CopyDialog to use the import language.\n */\nvar ImportDialog = _.extend( {}, CopyDialog, {\n defaultName : _.template( \"imported: <%- name %>\" ),\n title : _.template( _l( 'Importing history' ) + ' \"<%- name %>\"' ),\n submitLabel : _l( 'Import' ),\n errorMessage : _l( 'History could not be imported.' ),\n progressive : _l( 'Importing history' ),\n activeLabel : _l( 'Import only the active, non-deleted datasets' ),\n allLabel : _l( 'Import all datasets including deleted ones' ),\n anonWarning : _l( 'As an anonymous user, unless you login or register, you will lose your current history ' ) +\n _l( 'after importing this history. ' ),\n\n});\n\n//==============================================================================\n/**\n * Main interface for both history import and history copy dialogs.\n * @param {Backbone.Model} history the history to copy\n * @param {Object} options a hash\n * @return {jQuery.Deferred} promise that fails on close and succeeds on copy\n *\n * options:\n * (this object is also passed to the modal used to display the dialog and accepts modal options)\n * {Function} nameFn if defined, use this to build the default name shown to the user\n * (the fn is passed: {name:| Name | ' +\n 'Size | ' +\n 'Status | ' +\n '' +\n ' |
|---|
| ' +\n ' | ' +\n ' | Description | ' +\n 'Name | ' +\n 'Size | ' +\n 'Settings | ' +\n 'Status | ' +\n '
|---|
| Name | ' +\n 'Size | ' +\n 'Type | ' +\n 'Genome | ' +\n 'Settings | ' +\n 'Status | ' +\n '' +\n ' |
|---|
' +\n 'The length format is two-column, separated by whitespace, of the form:' +\n '
chrom/contig length of chrom/contig' +\n '' +\n '
' +\n 'For example, the first few entries of mm9.len are as follows:' +\n '
' +\n 'chr1 197195432\\n' +\n 'chr2 181748087\\n' +\n 'chr3 159599783\\n' +\n 'chr4 155630120\\n' +\n 'chr5 152537259' +\n '' +\n '' +\n '
Trackster uses this information to populate the select box for chrom/contig, and' +\n 'to set the maximum basepair of the track browser. You may either upload a .len file' +\n 'of this format (Len File option), or directly enter the information into the box ' +\n '(Len Entry option).
';\n },\n\n _templateFasta: function() {\n return '' +\n 'This is a multi-fasta file from your current history that provides the genome' +\n 'sequences for each chromosome/contig in your build.' +\n '
' +\n '' +\n 'Here is a snippet from an example multi-fasta file:' +\n '
' +\n '>chr1\\n' +\n 'ATTATATATAAGACCACAGAGAGAATATTTTGCCCGG...\\n\\n' +\n '>chr2\\n' +\n 'GGCGGCCGCGGCGATATAGAACTACTCATTATATATA...\\n\\n' +\n '...' +\n '' +\n '';\n }\n });\n\n return {\n View: View\n }\n});\n\n\n// WEBPACK FOOTER //\n// ./galaxy/scripts/mvc/user/user-custom-builds.js","/** User Preferences view */\ndefine( [ 'mvc/form/form-view', 'mvc/ui/ui-misc' ], function( Form, Ui ) {\n\n /** Contains descriptive dictionaries describing user forms */\n var Model = Backbone.Model.extend({\n initialize: function( options ) {\n options = options || {};\n options.user_id = options.user_id || Galaxy.user.id;\n this.set({\n 'user_id' : options.user_id,\n 'information': {\n title : 'Manage information',\n description : 'Edit your email, addresses and custom parameters or change your username.',\n url : 'api/users/' + options.user_id + '/information/inputs',\n icon : 'fa-user'\n },\n 'password': {\n title : 'Change password',\n description : 'Allows you to change your login credentials.',\n icon : 'fa-unlock-alt',\n url : 'api/users/' + options.user_id + '/password/inputs',\n submit_title : 'Save password',\n },\n 'communication': {\n title : 'Change communication settings',\n description : 'Enable or disable the communication feature to chat with other users.',\n url : 'api/users/' + options.user_id + '/communication/inputs',\n icon : 'fa-comments-o'\n },\n 'permissions': {\n title : 'Set dataset permissions for new histories',\n description : 'Grant others default access to newly created histories. Changes made here will only affect histories created after these settings have been stored.',\n url : 'api/users/' + options.user_id + '/permissions/inputs',\n icon : 'fa-users',\n submit_title : 'Save permissions'\n },\n 'api_key': {\n title : 'Manage API key',\n description : 'Access your current API key or create a new one.',\n url : 'api/users/' + options.user_id + '/api_key/inputs',\n icon : 'fa-key',\n submit_title : 'Create a new key',\n submit_icon : 'fa-check'\n },\n 'toolbox_filters': {\n title : 'Manage Toolbox filters',\n description : 'Customize your Toolbox by displaying or omitting sets of Tools.',\n url : 'api/users/' + options.user_id + '/toolbox_filters/inputs',\n icon : 'fa-filter',\n submit_title : 'Save filters'\n },\n 'openids': {\n title : 'Manage OpenIDs',\n description : 'Associate OpenIDs with your account.',\n icon : 'fa-openid',\n onclick : function() {\n window.location.href = Galaxy.root + 'user/openid_manage?cntrller=user&use_panels=True';\n }\n },\n 'custom_builds': {\n title : 'Manage custom builds',\n description : 'Add or remove custom builds using history datasets.',\n icon : 'fa-cubes',\n onclick : function() {\n window.location.href = Galaxy.root + 'custom_builds';\n }\n },\n 'logout': {\n title : 'Sign out',\n description : 'Click here to sign out of all sessions.',\n icon : 'fa-sign-out',\n onclick : function() {\n Galaxy.modal.show({\n title : 'Sign out',\n body : 'Do you want to continue and sign out of all active sessions?',\n buttons : {\n 'Cancel' : function() { Galaxy.modal.hide(); },\n 'Sign out' : function() { window.location.href = Galaxy.root + 'user/logout'; }\n }\n });\n }\n }\n });\n }\n });\n\n /** View of the main user preference panel with links to individual user forms */\n var View = Backbone.View.extend({\n\n initialize: function() {\n this.model = new Model();\n this.message = new Ui.Message();\n this.setElement( '' );\n this.render();\n },\n\n render: function() {\n var self = this;\n var config = Galaxy.config;\n $.getJSON( Galaxy.root + 'api/users/' + Galaxy.user.id, function( data ) {\n self.$preferences = $( '' ).addClass( 'ui-panel' )\n .append( self.message.$el )\n .append( $( '' ).append( 'User preferences' ) )\n .append( $( '' ).append( 'You are logged in as ' + _.escape( data.email ) + '.' ) )\n .append( self.$table = $( '
' +\n 'You are using ' + options.nice_total_disk_usage + ' of disk space in this Galaxy instance. ' +\n ( Galaxy.config.enable_quotas ? 'Your disk quota is: ' + options.quota + '. ' : '' ) +\n 'Is your usage more than expected? See the documentation for tips on how to find all of the data in your account.' +\n '
';\n }\n });\n\n /** View of individual user forms */\n var Forms = Backbone.View.extend({\n\n initialize: function( options ) {\n this.model = new Model( options );\n this.page = this.model.get( options.form_id );\n this.setElement( '' );\n this.render();\n },\n\n render: function() {\n var self = this;\n $.ajax({\n url : Galaxy.root + this.page.url,\n type : 'GET'\n }).done( function( response ) {\n var options = $.extend( {}, self.page, response );\n var form = new Form({\n title : options.title,\n icon : options.icon,\n inputs : options.inputs,\n operations: {\n 'submit': new Ui.ButtonIcon({\n tooltip : options.submit_tooltip,\n title : options.submit_title || 'Save settings',\n icon : options.submit_icon || 'fa-save',\n onclick : function() { self._submit( form, options ) }\n })\n }\n });\n self.$el.empty().append( form.$el );\n }).fail( function( response ) {\n self.$el.empty().append( new Ui.Message({\n message : 'Failed to load resource ' + self.page.url + '.',\n status : 'danger',\n persistent : true\n }).$el );\n });\n },\n\n _submit: function( form, options ) {\n var self = this;\n $.ajax( {\n url : Galaxy.root + options.url,\n data : JSON.stringify( form.data.create() ),\n type : 'PUT',\n contentType : 'application/json'\n }).done( function( response ) {\n form.data.matchModel( response, function ( input, input_id ) {\n form.field_list[ input_id ].value( input.value );\n });\n form.message.update( { message: response.message, status: 'success' } );\n }).fail( function( response ) {\n form.message.update( { message: response.responseJSON.err_msg, status: 'danger' } );\n });\n }\n });\n\n return {\n View : View,\n Forms : Forms\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./galaxy/scripts/mvc/user/user-preferences.js","(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n } else {\n // Browser globals\n root.LoadingIndicator = factory();\n }\n\n//============================================================================\n}(this, function () {\n //TODO: too specific to history panel\n function LoadingIndicator( $where, options ){\n\n var self = this;\n // defaults\n options = jQuery.extend({\n cover : false\n }, options || {} );\n\n function render(){\n var html = [\n '