diff --git a/client/galaxy/scripts/mvc/library/library-foldertoolbar-view.js b/client/galaxy/scripts/mvc/library/library-foldertoolbar-view.js index af8107d96a2..d6a13549869 100644 --- a/client/galaxy/scripts/mvc/library/library-foldertoolbar-view.js +++ b/client/galaxy/scripts/mvc/library/library-foldertoolbar-view.js @@ -162,11 +162,7 @@ var FolderToolbarView = Backbone.View.extend({ if (this.validate_new_folder(folderDetails)){ var folder = new mod_library_model.FolderAsModel(); url_items = Backbone.history.fragment.split('/'); - if(url_items.indexOf('page') > -1){ - current_folder_id = url_items[url_items.length-3]; - }else { - current_folder_id = url_items[url_items.length-1]; - } + current_folder_id = url_items[url_items.length-1]; folder.url = folder.urlRoot + current_folder_id ; folder.save(folderDetails, { diff --git a/static/maps/mvc/job/job-params.js.map b/static/maps/mvc/job/job-params.js.map deleted file mode 100644 index 81e802d565e..00000000000 --- a/static/maps/mvc/job/job-params.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"job-params.js","sources":["../../../src/mvc/job/job-params.js"],"names":["define","Utils","View","Backbone","extend","initialize","options","this","setElement","render","console","log","self","$el","empty","append"],"mappings":"AACAA,QAAU,eAAiB,SAAUC,GAkBjC,GAAIC,GAAOC,SAASD,KAAKE,QAErBC,WAAY,SAAUC,GAElBC,KAAKD,QAAUA,EACfC,KAAKC,WAAY,UACjBD,KAAKE,UAGTA,OAAQ,WACJC,QAAQC,IAAI,KACZ,IAAIC,GAAOL,IACXK,GAAKC,IAAIC,QAAQC,OAAQ,sBA4BjC,QACIb,KAAQA"} \ No newline at end of file diff --git a/static/maps/mvc/library/library-foldertoolbar-view.js.map b/static/maps/mvc/library/library-foldertoolbar-view.js.map index d6785f967ee..2294cf31586 100644 --- a/static/maps/mvc/library/library-foldertoolbar-view.js.map +++ b/static/maps/mvc/library/library-foldertoolbar-view.js.map @@ -1 +1 @@ -{"version":3,"file":"library-foldertoolbar-view.js","sources":["../../../src/mvc/library/library-foldertoolbar-view.js"],"names":["define","mod_masthead","mod_utils","mod_toastr","mod_library_model","mod_select","FolderToolbarView","Backbone","View","extend","el","events","click #toolbtn_create_folder","click #toolbtn_bulk_import","click #include_deleted_datasets_chk","click #toolbtn_bulk_delete","click .toolbtn-show-locinfo","click .page_size_prompt","defaults","can_add_library_item","contains_file_or_folder","chain_call_control","total_number","failed_number","disabled_jstree_element","modal","jstree","histories","select_genome","select_extension","list_extensions","auto","id","text","description","list_genomes","initialize","options","this","_","fetchExtAndGenomes","render","toolbar_template","templateToolBar","template_defaults","is_admin","is_anonym","mutiple_add_dataset_options","Galaxy","user","isAdmin","isAnonymous","config","user_library_import_dir","allow_library_path_paste","library_import_dir","$el","html","renderPaginator","paginator_template","templatePaginator","$","find","show_page","parseInt","page_count","total_items_count","items_shown","configureElements","show","hide","tooltip","createFolderFromModal","event","preventDefault","stopPropagation","self","template","templateNewFolderInModal","closing_events","title","body","buttons","Create","create_new_folder_event","Close","folderDetails","serialize_new_folder","validate_new_folder","folder","FolderAsModel","url_items","history","fragment","split","current_folder_id","indexOf","length","url","urlRoot","save","success","set","type","libraries","folderListView","collection","add","error","model","response","responseJSON","err_msg","name","val","modalBulkImport","checkedValues","info","refreshUserHistoriesList","that","templateBulkImportInModal","models","Import","importAllIntoHistory","callback","GalaxyHistories","fetch","disableButton","new_history_name","post","root","done","new_history","last_used_history_id","processImportToHistory","fail","always","enableButton","history_id","history_name","dataset_ids","folder_ids","each","parentElement","data","classList","contains","push","datasets_to_import","i","library_dataset_id","historyItem","HistoryItem","content","source","library_folder_id","initChainCallControl","action","jQuery","getJSON","chainCallImportingIntoHistory","updateProgress","progress","progressStep","width","Math","round","txt_representation","download","folder_id","format","ld_ids","processDownload","method","param","inputs","pair","appendTo","submit","remove","addFilesFromHistoryModal","template_modal","templateAddFilesFromHistory","folder_name","full_path","Add","addAllDatasetsFromHistory","closing_callback","library_router","back","fetchAndDisplayHistoryContents","change","target","value","importFilesFromPathModal","templateImportPathModal","importFromPathsClicked","navigate","trigger","renderSelectBoxes","get","datatypes","key","extension","description_url","sort","a","b","unshift","cache","genomes","css","container","importFilesFromGalaxyFolderModal","templateBrowserModal","importFromJstreePath","bind","renderJstree","Jstree","require","core","plugins","types","icon","file","checkbox","three_state","err_code","warning","preserve_dirs","is","link_data","file_type","dbkey","paths","valid_paths","trimmed","trim","chainCallImportingFolders","templateAddingDatasetsProgressBar","templateDeletingItemsProgressBar","templateImportIntoHistoryProgressBar","emit","all_nodes","get_selected","selected_nodes","filter","node","state","disabled","selection_type","undefined","li_attr","full_source","chainCallImportingUserdirFiles","history_contents","HistoryContents","history_contents_template","templateHistoryContents","contents","reverse","checked_hdas","history_item_ids","history_item_types","items_to_add","hid","item_type","history_item_id","folder_item","Item","from_hdca_id","from_hda_id","chainCallAddingHdas","history_item_set","popped_item","pop","onclick","window","location","promise","when","hdas_set","added_hdas","Folder","chainCallDeletingItems","items_to_delete","deleted_items","destroy","item","include_deleted","updated_item","model_class","checkIncludeDeleted","fetchFolder","checked","deleteSelectedItems","substring","items_total","dataset","showLocInfo","library","libraryListView","parent_library_id","showLocInfoModal","Library","templateLocInfoInModal","showImportModal","showPageSizePrompt","folder_page_size","prompt","preferences","join"],"mappings":"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M,mBAAoB,WAClB,GAAIC,GAAmBC,OAAQ,8CAA+CrQ,OAAOwD,UAAU8M,YAAY9G,IAAK,oBACrF,OAApB4G,GAAgCA,GAAoBpP,SAAUoP,KACjEpQ,OAAOwD,UAAU8M,YAAYhN,KAAO8M,iBAAoBpP,SAAUoP,KAClEpQ,OAAOwD,UAAUC,eAAehE,QAAUT,GAAIM,KAAKD,QAAQL,GAAI+B,UAAW,MAIhFpB,gBAAiB,WACf,MAAOJ,GAAEsC,UAET,wCAEE,6BACE,yCACE,+CAEA,2DACA,sGACE,UACE,mFACF,WACF,SACA,qNACE,qEACF,YACA,0CACA,kEACE,oIACE,8FACF,YACA,yCACE,yEACA,6DACE,gFACF,UACA,qDACE,4BACA,+CACA,wDACE,mFACF,UACA,qDACE,kEACF,UACF,UACF,QACF,SACA,iBACE,0LACE,mEACF,OACF,UACA,iOACE,mCACA,mBACF,YACA,0FACE,kIACE,4EACF,YACA,yCACE,kEACA,kEACA,+DACF,QACF,SACE,+NACA,oDACA,8LACE,0CACA,gBACF,YACA,qGACE,8FACE,gDACE,8CACA,aACF,YACF,OACF,UACF,SACF,UAEF,kCACA,SAEA,wDAEF,UACE0O,KAAK,MAGTN,uBAAwB,WACtB,MAAO1Q,GAAEsC,UACP,QACE,6CACE,UACE,uCACA,YACF,WACA,UACE,OACE,gBACA,sCACF,QACA,gDACE,OACE,uBACA,6CACF,QACF,UACA,6CACE,OACE,oBACA,0CACF,QACF,UACA,uDACE,OACE,mBACA,2GACF,QACF,UACA,OACE,cACA,oCACF,QACF,WACF,WACA,6CACE,UACE,sCACA,YACF,WACA,UACE,OACE,gBACA,sCACF,QACA,gDACE,OACE,uBACA,6CACF,QACF,UACA,OACE,cACA,6BACF,QACA,WACJ,WACJ,UACE0O,KAAK,MAGTzO,yBAA0B,WACxB,MAAOvC,GAAEsC,UACT,8BACE,SACE,wEACA,4EACF,UACF,UACE0O,KAAK,MAIT/L,0BAA4B,WAC1B,MAAOjF,GAAEsC,UACT,QACE,mCACE,mBACA,iHACE,8CACE,mGACF,YACF,YACF,SACA,mCACE,kBACA,4GACA,WACF,SACF,UACE0O,KAAK,MAGTtE,qCAAuC,WACrC,MAAO1M,GAAEsC,UACT,4BACE,2EACF,SACA,yBACE,gJACE,mDACF,SACF,UACE0O,KAAK,MAGTxE,kCAAmC,WACjC,MAAOxM,GAAEsC,UACT,4BACE,iFACF,SACA,yBACE,gJACE,mDACF,SACF,UACE0O,KAAK,MAGTvE,iCAAkC,WAChC,MAAOzM,GAAEsC,UACT,4BACA,SACA,yBACE,gJACE,mDACF,SACF,UACE0O,KAAK,MAGTjG,qBAAsB,WACpB,MAAO/K,GAAEsC,UACT,gCACE,0JACA,wLACA,mCACE,oFACE,yGACF,WACA,sFACA,uFACA,WACF,SACA,mCACE,kFACE,yFACA,+BACF,WACA,0EACE,mEACA,gCACF,WACF,SACA,qGACE,aACF,YACA,qGACE,cACF,YACA,SAEA,4BACA,SACA,SACA,kFACA,QACE,gFACA,4EACA,SACJ,UACE0O,KAAK,MAGTpH,wBAAyB,WACvB,MAAO5J,GAAEsC,UACT,gCACE,+JACA,sCACE,4DACE,yFACA,+BACF,WACA,oDACE,mEACA,gCACF,WACF,SACA,uKACA,SACA,kFACA,QACE,gFACA,4EACF,SACF,UACE0O,KAAK,MAGTjI,4BAA6B,WAC3B,MAAO/I,GAAEsC,UACT,6BACE,QACE,oBACA,8EACE,8CACE,mGACF,YACF,YACF,SACA,QACA,sCACA,SACF,UACE0O,KAAK;;EAGTrD,wBAAyB,WACvB,MAAO3N,GAAEsC,UACT,kDACA,OACE,0DACE,oDACE,yDACI,kEACA,0CACE,+GACE,sJACF,QACD,iBACE,6FACG,2GACE,oKACF,UACF,QACF,UACN,iGACI,+GACE,iIACF,QACJ,UACF,UACF,YACF,SACE0O,KAAK,MAGT3P,kBAAmB,WACjB,MAAOrB,GAAEsC,UACT,wCACE,uCACE,gDACE,iGACA,wHACF,iBACE,iGACA,2GACF,UACF,iBACE,kHACA,wHACF,UACA,sBACE,0FACF,QACA,4CACE,2GACA,0HACF,iBACE,yHACA,2IACF,UACF,QACA,SACE,sBACA,8HACE,qBACF,OACA,0CACF,WACE0O,KAAK,OAKX,QACIjT,kBAAmBA"} \ No newline at end of file +{"version":3,"file":"library-foldertoolbar-view.js","sources":["../../../src/mvc/library/library-foldertoolbar-view.js"],"names":["define","mod_masthead","mod_utils","mod_toastr","mod_library_model","mod_select","FolderToolbarView","Backbone","View","extend","el","events","click #toolbtn_create_folder","click #toolbtn_bulk_import","click #include_deleted_datasets_chk","click #toolbtn_bulk_delete","click .toolbtn-show-locinfo","click .page_size_prompt","defaults","can_add_library_item","contains_file_or_folder","chain_call_control","total_number","failed_number","disabled_jstree_element","modal","jstree","histories","select_genome","select_extension","list_extensions","auto","id","text","description","list_genomes","initialize","options","this","_","fetchExtAndGenomes","render","toolbar_template","templateToolBar","template_defaults","is_admin","is_anonym","mutiple_add_dataset_options","Galaxy","user","isAdmin","isAnonymous","config","user_library_import_dir","allow_library_path_paste","library_import_dir","$el","html","renderPaginator","paginator_template","templatePaginator","$","find","show_page","parseInt","page_count","total_items_count","items_shown","configureElements","show","hide","tooltip","createFolderFromModal","event","preventDefault","stopPropagation","self","template","templateNewFolderInModal","closing_events","title","body","buttons","Create","create_new_folder_event","Close","folderDetails","serialize_new_folder","validate_new_folder","folder","FolderAsModel","url_items","history","fragment","split","current_folder_id","length","url","urlRoot","save","success","set","type","libraries","folderListView","collection","add","error","model","response","responseJSON","err_msg","name","val","modalBulkImport","checkedValues","info","refreshUserHistoriesList","that","templateBulkImportInModal","models","Import","importAllIntoHistory","callback","GalaxyHistories","fetch","disableButton","new_history_name","post","root","done","new_history","last_used_history_id","processImportToHistory","fail","always","enableButton","history_id","history_name","dataset_ids","folder_ids","each","parentElement","data","classList","contains","push","datasets_to_import","i","library_dataset_id","historyItem","HistoryItem","content","source","library_folder_id","initChainCallControl","action","jQuery","getJSON","chainCallImportingIntoHistory","updateProgress","progress","progressStep","width","Math","round","txt_representation","download","folder_id","format","ld_ids","processDownload","method","param","inputs","pair","appendTo","submit","remove","addFilesFromHistoryModal","template_modal","templateAddFilesFromHistory","folder_name","full_path","Add","addAllDatasetsFromHistory","closing_callback","library_router","back","fetchAndDisplayHistoryContents","change","target","value","importFilesFromPathModal","templateImportPathModal","importFromPathsClicked","navigate","trigger","renderSelectBoxes","get","datatypes","key","extension","description_url","sort","a","b","unshift","cache","genomes","css","container","importFilesFromGalaxyFolderModal","templateBrowserModal","importFromJstreePath","bind","renderJstree","Jstree","require","core","plugins","types","icon","file","checkbox","three_state","err_code","warning","preserve_dirs","is","link_data","file_type","dbkey","paths","valid_paths","trimmed","trim","chainCallImportingFolders","templateAddingDatasetsProgressBar","templateDeletingItemsProgressBar","templateImportIntoHistoryProgressBar","emit","all_nodes","get_selected","selected_nodes","filter","node","state","disabled","selection_type","undefined","li_attr","full_source","chainCallImportingUserdirFiles","history_contents","HistoryContents","history_contents_template","templateHistoryContents","contents","reverse","checked_hdas","history_item_ids","history_item_types","items_to_add","hid","item_type","history_item_id","folder_item","Item","from_hdca_id","from_hda_id","chainCallAddingHdas","history_item_set","popped_item","pop","onclick","window","location","promise","when","hdas_set","added_hdas","Folder","chainCallDeletingItems","items_to_delete","deleted_items","destroy","item","include_deleted","updated_item","model_class","checkIncludeDeleted","fetchFolder","checked","deleteSelectedItems","substring","items_total","dataset","showLocInfo","library","libraryListView","parent_library_id","showLocInfoModal","Library","templateLocInfoInModal","showImportModal","showPageSizePrompt","folder_page_size","prompt","preferences","join"],"mappings":"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OuD,UAAU8M,YAAY9G,IAAK,oBACrF,OAApB4G,GAAgCA,GAAoBnP,SAAUmP,KACjEnQ,OAAOuD,UAAU8M,YAAYhN,KAAO8M,iBAAoBnP,SAAUmP,KAClEnQ,OAAOuD,UAAUC,eAAe/D,QAAUT,GAAIM,KAAKD,QAAQL,GAAI+B,UAAW,MAIhFpB,gBAAiB,WACf,MAAOJ,GAAEsC,UAET,wCAEE,6BACE,yCACE,+CAEA,2DACA,sGACE,UACE,mFACF,WACF,SACA,qNACE,qEACF,YACA,0CACA,kEACE,oIACE,8FACF,YACA,yCACE,yEACA,6DACE,gFACF,UACA,qDACE,4BACA,+CACA,wDACE,mFACF,UACA,qDACE,kEACF,UACF,UACF,QACF,SACA,iBACE,0LACE,mEACF,OACF,UACA,iOACE,mCACA,mBACF,YACA,0FACE,kIACE,4EACF,YACA,yCACE,kEACA,kEACA,+DACF,QACF,SACE,+NACA,oDACA,8LACE,0CACA,gBACF,YACA,qGACE,8FACE,gDACE,8CACA,aACF,YACF,OACF,UACF,SACF,UAEF,kCACA,SAEA,wDAEF,UACEyO,KAAK,MAGTN,uBAAwB,WACtB,MAAOzQ,GAAEsC,UACP,QACE,6CACE,UACE,uCACA,YACF,WACA,UACE,OACE,gBACA,sCACF,QACA,gDACE,OACE,uBACA,6CACF,QACF,UACA,6CACE,OACE,oBACA,0CACF,QACF,UACA,uDACE,OACE,mBACA,2GACF,QACF,UACA,OACE,cACA,oCACF,QACF,WACF,WACA,6CACE,UACE,sCACA,YACF,WACA,UACE,OACE,gBACA,sCACF,QACA,gDACE,OACE,uBACA,6CACF,QACF,UACA,OACE,cACA,6BACF,QACA,WACJ,WACJ,UACEyO,KAAK,MAGTxO,yBAA0B,WACxB,MAAOvC,GAAEsC,UACT,8BACE,SACE,wEACA,4EACF,UACF,UACEyO,KAAK,MAIT/L,0BAA4B,WAC1B,MAAOhF,GAAEsC,UACT,QACE,mCACE,mBACA,iHACE,8CACE,mGACF,YACF,YACF,SACA,mCACE,kBACA,4GACA,WACF,SACF,UACEyO,KAAK,MAGTtE,qCAAuC,WACrC,MAAOzM,GAAEsC,UACT,4BACE,2EACF,SACA,yBACE,gJACE,mDACF,SACF,UACEyO,KAAK,MAGTxE,kCAAmC,WACjC,MAAOvM,GAAEsC,UACT,4BACE,iFACF,SACA,yBACE,gJACE,mDACF,SACF,UACEyO,KAAK,MAGTvE,iCAAkC,WAChC,MAAOxM,GAAEsC,UACT,4BACA,SACA,yBACE,gJACE,mDACF,SACF,UACEyO,KAAK,MAGTjG,qBAAsB,WACpB,MAAO9K,GAAEsC,UACT,gCACE,0JACA,wLACA,mCACE,oFACE,yGACF,WACA,sFACA,uFACA,WACF,SACA,mCACE,kFACE,yFACA,+BACF,WACA,0EACE,mEACA,gCACF,WACF,SACA,qGACE,aACF,YACA,qGACE,cACF,YACA,SAEA,4BACA,SACA,SACA,kFACA,QACE,gFACA,4EACA,SACJ,UACEyO,KAAK,MAGTpH,wBAAyB,WACvB,MAAO3J,GAAEsC,UACT,gCACE,+JACA,sCACE,4DACE,yFACA,+BACF,WACA,oDACE,mEACA,gCACF,WACF,SACA,uKACA,SACA,kFACA,QACE,gFACA,4EACF,SACF,UACEyO,KAAK,MAGTjI,4BAA6B,WAC3B,MAAO9I,GAAEsC,UACT,6BACE,QACE,oBACA,8EACE,8CACE,mGACF,YACF,YACF,SACA,QACA,sCACA,SACF,UACEyO,KAAK;;EAGTrD,wBAAyB,WACvB,MAAO1N,GAAEsC,UACT,kDACA,OACE,0DACE,oDACE,yDACI,kEACA,0CACE,+GACE,sJACF,QACD,iBACE,6FACG,2GACE,oKACF,UACF,QACF,UACN,iGACI,+GACE,iIACF,QACJ,UACF,UACF,YACF,SACEyO,KAAK,MAGT1P,kBAAmB,WACjB,MAAOrB,GAAEsC,UACT,wCACE,uCACE,gDACE,iGACA,wHACF,iBACE,iGACA,2GACF,UACF,iBACE,kHACA,wHACF,UACA,sBACE,0FACF,QACA,4CACE,2GACA,0HACF,iBACE,yHACA,2IACF,UACF,QACA,SACE,sBACA,8HACE,qBACF,OACA,0CACF,WACEyO,KAAK,OAKX,QACIhT,kBAAmBA"} \ 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 799b6bddec3..267bcd012b4 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","unescape","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","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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YAAa,MACb,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,YAAa,MACb,YAAa,MACb,SAAU,MACV,SAAU,MACV,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,aAAc,MACd,aAAc,MACd,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,YAAa,MACb,gBAAiB,MACjB,gBAAiB,MACjB,UAAW,MACX,qBAAsB,MACtB,YAAa,MACb,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,cAAe,MACf,eAAgB,MAChB,iBAAkB,MAClB,gBAAiB,MACjB,eAAgB,MAChB,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,gBAAiB,MACjB,eAAgB,MAChB,cAAe,MACf,cAAe,MACf,gBAAiB,MACjB,cAAe,MACf,cAAe,MACf,eAAgB,MAChB,gBAAiB,MACjB,YAAa,MACb,cAAe,MACf,aAAc,MACd,cAAe,MACf,aAAc,MACd,cAAe,MACf,cAAe,MACf,gBAAiB,MACjB,eAAgB,MAChB,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,eAAgB,MAChB,cAAe,MACf,qBAAsB,MACtB,eAAgB,MAChB,eAAgB,MAChB,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,cAAe,MACf,aAAc,MACd,qBAAsB,MACtB,yBAA0B,MAC1B,WAAY,MACZ,WAAY,MACZ,mB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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,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,iBAA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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 = unescape(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 '