mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-21 13:50:20 +08:00
1 line
3.8 KiB
JavaScript
1 line
3.8 KiB
JavaScript
define("layout/scratchbook",["exports","mvc/ui/ui-frames","mvc/dataset/data","viz/visualization","viz/trackster","utils/localization"],function(t,e,a,i,n,o){"use strict";function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(t,"__esModule",{value:!0});var s=l(e),r=l(a),c=l(i),d=l(n),u=l(o);t.default=Backbone.View.extend({initialize:function(t){var e=this;t=t||{},this.frames=new s.default.View({visible:!1}),this.setElement(this.frames.$el),this.buttonActive=t.collection.add({id:"enable-scratchbook",icon:"fa-th",tooltip:(0,u.default)("Enable/Disable Scratchbook"),onclick:function(){e.active=!e.active,e.buttonActive.set({toggle:e.active,show_note:e.active,note_cls:e.active&&"fa fa-check"}),!e.active&&e.frames.hide()},onbeforeunload:function(){if(e.frames.length()>0)return"You opened "+e.frames.length()+" frame(s) which will be lost."}}),this.buttonLoad=t.collection.add({id:"show-scratchbook",icon:"fa-eye",tooltip:(0,u.default)("Show/Hide Scratchbook"),show_note:!0,visible:!1,onclick:function(t){e.frames.visible?e.frames.hide():e.frames.show()}}),this.frames.on("add remove",function(){this.visible&&0==this.length()&&this.hide(),e.buttonLoad.set({note:this.length(),visible:this.length()>0})}).on("show hide ",function(){e.buttonLoad.set({toggle:this.visible,icon:this.visible&&"fa-eye"||"fa-eye-slash"})}),this.history_cache={}},addDataset:function(t){var e=this,a=null;if(Galaxy&&Galaxy.currHistoryPanel){var i=Galaxy.currHistoryPanel.collection.historyId;this.history_cache[i]={name:Galaxy.currHistoryPanel.model.get("name"),dataset_ids:[]},Galaxy.currHistoryPanel.collection.each(function(t){!t.get("deleted")&&t.get("visible")&&e.history_cache[i].dataset_ids.push(t.get("id"))})}var n=function(t,a){if(t){var i=e.history_cache[t.get("history_id")];if(i&&i.dataset_ids){var n=i.dataset_ids,o=n.indexOf(t.get("id"));if(-1!==o&&o+a>=0&&o+a<n.length)return n[o+a]}}},o=function(t,i,o){var l=n(t,i);l?e._loadDataset(l,function(t,e){a=t,o.model.set(e)}):o.model.trigger("change")};this._loadDataset(t,function(t,i){a=t,e.add(_.extend({menu:[{icon:"fa fa-chevron-circle-left",tooltip:(0,u.default)("Previous in History"),onclick:function(t){o(a,-1,t)},disabled:function(){return!n(a,-1)}},{icon:"fa fa-chevron-circle-right",tooltip:(0,u.default)("Next in History"),onclick:function(t){o(a,1,t)},disabled:function(){return!n(a,1)}}]},i))})},_loadDataset:function(t,e){var a=this,i=new r.default.Dataset({id:t});$.when(i.fetch()).then(function(){var n=_.find(["tabular","interval"],function(t){return-1!==i.get("data_type").indexOf(t)}),o=i.get("name"),l=a.history_cache[i.get("history_id")];l&&(o=l.name+": "+o),e(i,n?{title:o,url:null,content:r.default.createTabularDatasetChunkedView({model:new r.default.TabularDataset(i.toJSON()),embedded:!0,height:"100%"}).$el}:{title:o,url:Galaxy.root+"datasets/"+t+"/display/?preview=True",content:null})})},addTrackster:function(t){var e=this,a=new c.default.Visualization({id:t});$.when(a.fetch()).then(function(){var t=new d.default.TracksterUI(Galaxy.root),i={title:a.get("name"),type:"other",content:function(e){var i={container:e,name:a.get("title"),id:a.id,dbkey:a.get("dbkey"),stand_alone:!1},n=a.get("latest_revision"),o=n.config.view.drawables;_.each(o,function(t){t.dataset={hda_ldda:t.hda_ldda,id:t.dataset_id}}),view=t.create_visualization(i,n.config.viewport,n.config.view.drawables,n.config.bookmarks,!1)}};e.add(i)})},add:function(t){if("_blank"==t.target)window.open(t.url);else if("_top"==t.target||"_parent"==t.target||"_self"==t.target)window.location=t.url;else if(!this.active||t.noscratchbook){var e=$(window.parent.document).find("#galaxy_main");"galaxy_main"==t.target||"center"==t.target?0===e.length?window.location=t.url+(-1==t.url.indexOf("?")?"?":"&")+"use_panels=True":e.attr("src",t.url):window.location=t.url}else this.frames.add(t)}})}); |