mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
1 line
2.3 KiB
JavaScript
1 line
2.3 KiB
JavaScript
define("mvc/workflow/workflow-view-node",["exports","libs/underscore","mvc/workflow/workflow-view-terminals","mvc/workflow/workflow-view-data"],function(t,e,i,n){"use strict";function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(t,"__esModule",{value:!0});var l=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}(e),a=o(i),r=o(n);t.default=Backbone.View.extend({initialize:function(t){this.node=t.node,this.output_width=Math.max(150,this.$el.width()),this.tool_body=this.$el.find(".toolFormBody"),this.tool_body.find("div").remove(),this.newInputsDiv().appendTo(this.tool_body),this.terminalViews={},this.outputViews={}},render:function(){this.renderToolLabel(),this.renderToolErrors(),this.$el.css("width",Math.min(250,Math.max(this.$el.width(),this.output_width)))},renderToolLabel:function(){this.$(".nodeTitle").text(this.node.label||this.node.name),this.$el.attr("node-label",this.node.label)},renderToolErrors:function(){this.node.errors?this.$el.addClass("tool-node-error"):this.$el.removeClass("tool-node-error")},newInputsDiv:function(){return $("<div/>").addClass("inputs")},updateMaxWidth:function(t){this.output_width=Math.max(this.output_width,t)},addRule:function(){this.tool_body.append($("<div/>").addClass("rule"))},addDataInput:function(t,e){var i=!0;e||(e=this.$(".inputs"),i=!1);var n=this.terminalViews[t.name],o="dataset_collection"==t.input_type?a.default.InputCollectionTerminalView:a.default.InputTerminalView;if(!n||n instanceof o||(n.el.terminal.destroy(),n=null),n){var l=n.el.terminal;l.update(t),l.destroyInvalidConnections()}else n=new o({node:this.node,input:t});this.terminalViews[t.name]=n;var u=n.el,d=new r.default.DataInputView({terminalElement:u,input:t,nodeView:this,skipResize:i}).$el;return e.append(d.prepend(n.terminalElements())),n},addDataOutput:function(t){var e=new(t.collection?a.default.OutputCollectionTerminalView:a.default.OutputTerminalView)({node:this.node,output:t}),i=new r.default.DataOutputView({output:t,terminalElement:e.el,nodeView:this});this.outputViews[t.name]=i,this.tool_body.append(i.$el.append(e.terminalElements()))},redrawWorkflowOutputs:function(){l.each(this.outputViews,function(t){t.redrawWorkflowOutput()})},updateDataOutput:function(t){this.node.output_terminals[t.name].update(t)}})}); |