Hide tab navbar if there is only one tab available

This commit is contained in:
guerler
2016-10-27 13:30:39 -04:00
parent 0b1c171ebc
commit c4526bdaba
6 changed files with 10 additions and 8 deletions
+3 -1
View File
@@ -20,10 +20,12 @@ define( [ 'utils/utils' ], function( Utils ) {
this.listenTo( this.collection, 'remove', this._remove, this );
this.listenTo( this.collection, 'change', this._change, this );
this.listenTo( this.collection, 'reset', this._reset, this );
this.listenTo( this.collection, 'add remove reset', this.render, this );
},
render: function() {
var id = this.model.get( 'current' );
id = this.$( '#' + id ).length > 0 ? id : this.first();
if ( id ) {
this.$nav.children().removeClass('active' );
this.$content.children().removeClass('active' );
@@ -31,6 +33,7 @@ define( [ 'utils/utils' ], function( Utils ) {
this.$( '#' + id ).addClass( 'active' );
}
this.$el[ this.model.get( 'visible' ) ? 'fadeIn' : 'fadeOut' ]( 'fast' );
this.$nav[ this.size() > 1 ? 'show' : 'hide' ]();
},
/** Returns tab id for currently shown tab */
@@ -108,7 +111,6 @@ define( [ 'utils/utils' ], function( Utils ) {
_remove: function( tab_model ) {
this.$( '#tab-' + tab_model.id ).remove();
this.$( '#' + tab_model.id ).remove();
tab_model.id == this.model.get( 'current' ) && this.show( this.first() );
},
/** Reset collection */
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"ui-tabs.js","sources":["../../../src/mvc/ui/ui-tabs.js"],"names":["define","View","Backbone","extend","initialize","options","this","collection","Collection","model","Model","onchange","visible","set","setElement","$","_template","$nav","$content","$el","on","hide","render","listenTo","_add","_remove","_change","_reset","id","get","children","removeClass","addClass","current","show","first","size","length","add","del","remove","delAll","reset","showTab","hideTab","tab_model","self","attributes","append","attr","_template_tab","tooltip","title","placement","container","e","preventDefault","empty","$tmpl","$href","find","icon"],"mappings":"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"}
{"version":3,"file":"ui-tabs.js","sources":["../../../src/mvc/ui/ui-tabs.js"],"names":["define","View","Backbone","extend","initialize","options","this","collection","Collection","model","Model","onchange","visible","set","setElement","$","_template","$nav","$content","$el","on","hide","render","listenTo","_add","_remove","_change","_reset","id","get","length","first","children","removeClass","addClass","size","current","show","add","del","remove","delAll","reset","showTab","hideTab","tab_model","self","attributes","append","attr","_template_tab","tooltip","title","placement","container","e","preventDefault","empty","$tmpl","$href","find","icon"],"mappings":"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"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,2 +1,2 @@
define(["utils/utils"],function(){var a=Backbone.View.extend({initialize:function(a){this.collection=new Backbone.Collection,this.model=a&&a.model||new Backbone.Model({onchange:null,visible:!0}).set(a),this.setElement($(this._template())),this.$nav=this.$(".tab-navigation"),this.$content=this.$(".tab-content"),this.$el.on("click",function(){$(".tooltip").hide()}),this.render(),this.listenTo(this.model,"change",this.render,this),this.listenTo(this.collection,"add",this._add,this),this.listenTo(this.collection,"remove",this._remove,this),this.listenTo(this.collection,"change",this._change,this),this.listenTo(this.collection,"reset",this._reset,this)},render:function(){var a=this.model.get("current");a&&(this.$nav.children().removeClass("active"),this.$content.children().removeClass("active"),this.$("#tab-"+a).addClass("active"),this.$("#"+a).addClass("active")),this.$el[this.model.get("visible")?"fadeIn":"fadeOut"]("fast")},current:function(){return this.model.get("current")},show:function(a){a&&(this.model.set({current:a,visible:!0}),this.model.get("onchange")&&this.model.get("onchange")(a))},hide:function(){this.model.set("visible",!1)},first:function(){var a=this.collection.first();return a&&a.id},size:function(){return this.collection.length},add:function(a){this.collection.add(a)},del:function(a){this.collection.remove(a)},delAll:function(){this.collection.reset()},showTab:function(a){this.collection.get(a).set("hidden",!1)},hideTab:function(a){this.collection.get(a).set("hidden",!0)},_add:function(a){var b=this,c=a.attributes;this.$content.append($("<div/>").attr("id",c.id).addClass("tab-pane").append(c.$el)),this.$nav.append($(this._template_tab(c)).show().tooltip({title:c.tooltip,placement:"bottom",container:b.$el}).on("click",function(a){a.preventDefault(),b.show(c.id)})),1==this.size()&&this.show(c.id)},_remove:function(a){this.$("#tab-"+a.id).remove(),this.$("#"+a.id).remove(),a.id==this.model.get("current")&&this.show(this.first())},_reset:function(){this.$nav.empty(),this.$content.empty()},_change:function(a){this.$("#tab-"+a.id)[a.get("hidden")?"hide":"show"]()},_template:function(){return $("<div/>").addClass("ui-tabs tabbable tabs-left").append($("<ul/>").addClass("tab-navigation nav nav-tabs")).append($("<div/>").addClass("tab-content"))},_template_tab:function(a){var b=$("<li/>").addClass("tab-element").attr("id","tab-"+a.id).append($("<a/>").attr("id","tab-title-link-"+a.id)),c=b.find("a");return a.icon&&c.append($("<i/>").addClass("tab-icon fa").addClass(a.icon)),c.append($("<span/>").attr("id","tab-title-text-"+a.id).addClass("tab-title-text").append(a.title)),b}});return{View:a}});
define(["utils/utils"],function(){var a=Backbone.View.extend({initialize:function(a){this.collection=new Backbone.Collection,this.model=a&&a.model||new Backbone.Model({onchange:null,visible:!0}).set(a),this.setElement($(this._template())),this.$nav=this.$(".tab-navigation"),this.$content=this.$(".tab-content"),this.$el.on("click",function(){$(".tooltip").hide()}),this.render(),this.listenTo(this.model,"change",this.render,this),this.listenTo(this.collection,"add",this._add,this),this.listenTo(this.collection,"remove",this._remove,this),this.listenTo(this.collection,"change",this._change,this),this.listenTo(this.collection,"reset",this._reset,this),this.listenTo(this.collection,"add remove reset",this.render,this)},render:function(){var a=this.model.get("current");a=this.$("#"+a).length>0?a:this.first(),a&&(this.$nav.children().removeClass("active"),this.$content.children().removeClass("active"),this.$("#tab-"+a).addClass("active"),this.$("#"+a).addClass("active")),this.$el[this.model.get("visible")?"fadeIn":"fadeOut"]("fast"),this.$nav[this.size()>1?"show":"hide"]()},current:function(){return this.model.get("current")},show:function(a){a&&(this.model.set({current:a,visible:!0}),this.model.get("onchange")&&this.model.get("onchange")(a))},hide:function(){this.model.set("visible",!1)},first:function(){var a=this.collection.first();return a&&a.id},size:function(){return this.collection.length},add:function(a){this.collection.add(a)},del:function(a){this.collection.remove(a)},delAll:function(){this.collection.reset()},showTab:function(a){this.collection.get(a).set("hidden",!1)},hideTab:function(a){this.collection.get(a).set("hidden",!0)},_add:function(a){var b=this,c=a.attributes;this.$content.append($("<div/>").attr("id",c.id).addClass("tab-pane").append(c.$el)),this.$nav.append($(this._template_tab(c)).show().tooltip({title:c.tooltip,placement:"bottom",container:b.$el}).on("click",function(a){a.preventDefault(),b.show(c.id)})),1==this.size()&&this.show(c.id)},_remove:function(a){this.$("#tab-"+a.id).remove(),this.$("#"+a.id).remove()},_reset:function(){this.$nav.empty(),this.$content.empty()},_change:function(a){this.$("#tab-"+a.id)[a.get("hidden")?"hide":"show"]()},_template:function(){return $("<div/>").addClass("ui-tabs tabbable tabs-left").append($("<ul/>").addClass("tab-navigation nav nav-tabs")).append($("<div/>").addClass("tab-content"))},_template_tab:function(a){var b=$("<li/>").addClass("tab-element").attr("id","tab-"+a.id).append($("<a/>").attr("id","tab-title-link-"+a.id)),c=b.find("a");return a.icon&&c.append($("<i/>").addClass("tab-icon fa").addClass(a.icon)),c.append($("<span/>").attr("id","tab-title-text-"+a.id).addClass("tab-title-text").append(a.title)),b}});return{View:a}});
//# sourceMappingURL=../../../maps/mvc/ui/ui-tabs.js.map