mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-25 10:24:38 +08:00
2 lines
3.0 KiB
JavaScript
2 lines
3.0 KiB
JavaScript
define([],function(){var a=Backbone.View.extend({initialize:function(){this.setElement("<div/>"),this.render()},render:function(){var a=this;$.getJSON(Galaxy.root+"api/workflows/menu/",function(b){var c=b.workflows,d=b.ids_in_menu,e=null;a.$el.empty().append(a._templateConfigWorkflowHeader()),e=a.$el.find(".configure-workflows"),e.append(a._templateActionButtons()),c.length>0?(e.append(a._templateConfigureWorkflow(a,c,d)),a.save_workflow_menu(a),a.make_checked(a,d),a.register_check_uncheck_all(a)):e.append(a._templateNoWorkflow())})},register_check_uncheck_all:function(a){var b=a.$el.find(".check-all-wf"),c=a.$el.find(".uncheck-all-wf");b.click(function(){a.check_uncheck_all(a,!0)}),c.click(function(){a.check_uncheck_all(a,!1)})},check_uncheck_all:function(a,b){$.each(a.$el.find(".wf-config-item"),function(){var a=$(this)[0];a.checked=b})},make_checked:function(a,b){$.each(a.$el.find(".wf-config-item"),function(){var a=$(this)[0];_.each(b,function(b){parseInt(a.value)===b&&(a.checked=!0)})})},save_workflow_menu:function(a){var b=a.$el.find(".wf-save-menu");b.click(function(){var b=[];$.each(a.$el.find(".wf-config-item"),function(){var a=$(this)[0];(a.checked||"true"===a.checked)&&b.push(parseInt(a.value))}),$.ajax({type:"PUT",url:Galaxy.root+"api/workflows/menu/",data:JSON.stringify({workflow_ids:b}),contentType:"application/json"}).done(function(){window.location=Galaxy.root+"user"})})},_templateActionButtons:function(){return'<ul class="manage-table-actions"><li><a class="fa fa-check-square-o wf-action check-all-wf" title="Select all workflows" href="#"></a></li><li><a class="fa fa-square-o wf-action uncheck-all-wf" title="Unselect all workflows" href="#"></a></li></ul>'},_templateConfigureWorkflow:function(a,b,c){var d="",e="";return d+='<table class="table colored"><thead><tr class="header"><th class="wf-td">Name</th><th class="wf-td">Owner</th><th class="wf-td"># of Steps</th><th class="wf-td">Show in menu</th></tr></thead>',_.each(b,function(b){e=e+'<tr><td class="wf-td">'+_.escape(b.name)+"</td><td>"+(b.owner===Galaxy.user.attributes.username?"You":b.owner)+'</td><td class="wf-td">'+b.number_of_steps+'</td><td class="wf-td">'+a._templateInputCheckbox(a,b,c)+"</td></tr>"}),d=d+'<tbody class="workflow-config-menu">'+e+"</tbody></table>",d=d+'<a class="action-button wf-save-menu wf-action fa fa-floppy-o" href="#" title="Save"><span>Save</span></a><a class="action-button wf-back wf-action fa fa-arrow-left" href="'+Galaxy.root+'user" title="Back to User Preferences"><span>Back to User Preferences</span></a>'},_templateNoWorkflow:function(){return'<div class="wf-nodata"> You do not have any accessible workflows. </div>'},_templateInputCheckbox:function(a,b){return'<input type="checkbox" class="wf-config-item" name="workflow_ids" value="'+b.id+'" />'},_templateConfigWorkflowHeader:function(){return'<div class="page-container"><div class="configure-workflows wf"><h2>Configure workflow menu</h2></div></div>'}});return{View:a}});
|
|
//# sourceMappingURL=../../../maps/mvc/workflow/workflow-configure-menu.js.map
|