Files
galaxy/static/scripts/mvc/ui/ui-buttons.js
T

2 lines
5.0 KiB
JavaScript

define(["utils/utils"],function(a){var b=Backbone.View.extend({initialize:function(b){this.options=a.merge(b,{id:a.uid(),title:"",floating:"right",icon:"",cls:"ui-button btn btn-default",cls_wait:"btn btn-info"}),this.setElement(this._template(this.options));var c=this;$(this.el).on("click",function(){$(".tooltip").hide(),b.onclick&&!c.disabled&&b.onclick()}),$(this.el).tooltip({title:b.tooltip,placement:"bottom"})},disable:function(){this.$el.addClass("disabled"),this.disabled=!0},enable:function(){this.$el.removeClass("disabled"),this.disabled=!1},wait:function(){this.$el.removeClass(this.options.cls).addClass(this.options.cls_wait).prop("disabled",!0),this.$(".icon").removeClass(this.options.icon).addClass("fa-spinner fa-spin"),this.$(".title").html("Sending...")},unwait:function(){this.$el.removeClass(this.options.cls_wait).addClass(this.options.cls).prop("disabled",!1),this.$(".icon").removeClass("fa-spinner fa-spin").addClass(this.options.icon),this.$(".title").html(this.options.title)},_template:function(a){var b='<button id="'+a.id+'" type="submit" style="float: '+a.floating+';" type="button" class="'+a.cls+'">';return a.icon&&(b+='<i class="icon fa '+a.icon+'"/>&nbsp;'),b+='<span class="title">'+a.title+"</span></button>"}}),c=b.extend({initialize:function(a){b.prototype.initialize.call(this,a)},_template:function(a){return'<a id="'+a.id+'" class="'+a.cls+'" href="'+(a.href||"javascript:void(0)")+'" title="'+a.title+'" target="'+(a.target||"_top")+'"><span class="'+a.icon+'"/></a>'}}),d=Backbone.View.extend({initialize:function(b){this.options=a.merge(b,{title:"Select/Unselect all",icons:["fa fa-square-o","fa fa-minus-square-o","fa fa-check-square-o"],value:0}),this.setElement(this._template()),this.$title=this.$(".title"),this.$icon=this.$(".icon"),this.value(this.options.value),this.$title.html(this.options.title);var c=this;this.$el.on("click",function(){c.current=0===c.current&&2||0,c.value(c.current),c.options.onclick&&c.options.onclick()})},value:function(a,b){return void 0!==a&&(b&&0!==a&&(a=a!==b&&1||2),this.current=a,this.$icon.removeClass().addClass("icon").addClass(this.options.icons[a]),this.options.onchange&&this.options.onchange(a)),this.current},_template:function(){return'<div class="ui-button-check" ><span class="icon"/><span class="title"/></div>'}}),e=Backbone.View.extend({initialize:function(b){this.options=a.merge(b,{id:a.uid(),title:"",floating:"right",cls:"ui-button-icon",icon:"",tooltip:"",onclick:null}),this.setElement(this._template(this.options)),this.$button=this.$el.find(".button");var c=this;$(this.el).on("click",function(){$(".tooltip").hide(),b.onclick&&!c.disabled&&b.onclick()}),this.$button.tooltip({title:b.tooltip,placement:"bottom"})},disable:function(){this.$button.addClass("disabled"),this.disabled=!0},enable:function(){this.$button.removeClass("disabled"),this.disabled=!1},setIcon:function(a){this.$("i").removeClass(this.options.icon).addClass(a),this.options.icon=a},_template:function(a){var b="";a.title&&(b="width: auto;");var c='<div id="'+a.id+'" style="float: '+a.floating+"; "+b+'" class="'+a.cls+'"><div class="button">';return c+=a.title?'<i class="icon fa '+a.icon+'"/>&nbsp;<span class="title">'+a.title+"</span>":'<i class="icon fa '+a.icon+'"/>',c+="</div></div>"}}),f=Backbone.View.extend({$menu:null,initialize:function(b){this.options=a.merge(b,{id:"",title:"",floating:"right",pull:"right",icon:null,onclick:null,cls:"ui-button-icon ui-button-menu",tooltip:"",target:"",href:"",onunload:null,visible:!0,tag:""}),this.setElement($(this._template(this.options)));var c=$(this.el).find(".root"),d=this;c.on("click",function(a){$(".tooltip").hide(),a.preventDefault(),d.options.onclick&&d.options.onclick()}),this.options.visible||this.hide(),c.tooltip({title:b.tooltip,placement:"bottom"})},show:function(){$(this.el).show()},hide:function(){$(this.el).hide()},addMenu:function(b){var c={title:"",target:"",href:"",onclick:null,divider:!1,icon:null,cls:"button-menu btn-group"};c=a.merge(b,c),this.$menu||($(this.el).append(this._templateMenu()),this.$menu=$(this.el).find(".menu"));var d=$(this._templateMenuItem(c));d.on("click",function(a){a.preventDefault(),c.onclick&&c.onclick()}),this.$menu.append(d),c.divider&&this.$menu.append($(this._templateDivider()))},_templateMenuItem:function(a){var b='<li><a class="dropdown-item" href="'+a.href+'" target="'+a.target+'">';return a.icon&&(b+='<i class="fa '+a.icon+'"/>'),b+=" "+a.title+"</a></li>"},_templateMenu:function(){return'<ul class="menu dropdown-menu pull-'+this.options.pull+'" role="menu"/>'},_templateDivider:function(){return'<li class="divider"/>'},_template:function(a){var b="",c="";a.title?b="width: auto;":c="margin: 0px;";var d='<div id="'+a.id+'" style="float: '+a.floating+"; "+b+'" class="dropdown '+a.cls+'"><div class="root button dropdown-toggle" data-toggle="dropdown" style="'+c+'"><i class="icon fa '+a.icon+'"/>';return a.title&&(d+='&nbsp;<span class="title">'+a.title+"</span>"),d+="</div></div>"}});return{ButtonDefault:b,ButtonLink:c,ButtonIcon:e,ButtonCheck:d,ButtonMenu:f}});
//# sourceMappingURL=../../../maps/mvc/ui/ui-buttons.js.map