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

2 lines
1.6 KiB
JavaScript

define(["utils/utils","mvc/ui/ui-options"],function(a,b){var c=b.BaseIcons.extend({initialize:function(a){a.type=a.display||"checkbox",a.multiple="checkbox"==a.display,b.BaseIcons.prototype.initialize.call(this,a),this.initial=!0},value:function(a){var c=b.BaseIcons.prototype.value.call(this,a);if(this.initial&&null!==c&&this.header_index){this.initial=!1;var d=c;$.isArray(d)||(d=[d]);for(var e in d){var f=this.header_index[d[e]];for(var g in f)this._setState(f[g],!0)}}return c},_setState:function(a,b){var c=this.$(".button-"+a),d=this.$(".subgroup-"+a);c.data("is_expanded",b),b?(d.fadeIn("fast"),c.removeClass("toggle-expand"),c.addClass("toggle")):(d.hide(),c.removeClass("toggle"),c.addClass("toggle-expand"))},_templateOptions:function(b){function c(a,b){var c=a.find(".button-"+b);c.on("click",function(){e._setState(b,!c.data("is_expanded"))})}function d(b,f,g){g=g||[];for(i in f){var h=f[i],j=h.options.length>0,k=g.slice(0);e.header_index[h.value]=k.slice(0);var l=$("<div/>");if(j){var m=a.uid(),n=$('<span class="button-'+m+' ui-drilldown-button form-toggle icon-button toggle-expand"/>'),o=$('<div class="subgroup-'+m+'" style="display: none; margin-left: 25px;"/>');k.push(m);var p=$("<div/>");p.append(n),p.append(e._templateOption({label:h.name,value:h.value})),l.append(p),d(o,h.options,k),l.append(o),c(l,m)}else l.append(e._templateOption({label:h.name,value:h.value}));b.append(l)}}var e=this;this.header_index={};var f=$("<div/>");return d(f,b),f},_template:function(a){return'<div class="ui-options-list drilldown-container" id="'+a.id+'"/>'}});return{View:c}});
//# sourceMappingURL=../../../maps/mvc/ui/ui-drilldown.js.map