|
36 | 36 | ' <div class="panel-body js-tabcollapse-panel-body">' + |
37 | 37 | ' </div>' + |
38 | 38 | ' </div>' + |
39 | | - '</div>' |
40 | | - |
| 39 | + '</div>'; |
41 | 40 | } |
42 | 41 | }; |
43 | 42 |
|
|
81 | 80 | }); |
82 | 81 |
|
83 | 82 | if (!$('li').hasClass('active')) { |
84 | | - $('li').first().addClass('active') |
| 83 | + $('li').first().addClass('active'); |
85 | 84 | } |
86 | 85 |
|
87 | 86 | var $panelBodies = this.$accordion.find('.js-tabcollapse-panel-body'); |
|
117 | 116 | return $tabContents; |
118 | 117 | }; |
119 | 118 |
|
| 119 | + TabCollapse.prototype.tabSync = function (event) { |
| 120 | + var tabId = event.data.tabCollapse.$accordion.find('.panel-collapse.in').attr('id'); |
| 121 | + if (tabId === undefined || tabId === null) { |
| 122 | + return; |
| 123 | + } |
| 124 | + tabId = tabId.substring(0, tabId.length - 9); //remove -collapse from identifier |
| 125 | + |
| 126 | + event.data.tabCollapse.getTabContentElement().find('.active').removeClass('active'); |
| 127 | + $('#' + tabId).addClass('active'); |
| 128 | + } |
| 129 | + |
120 | 130 | TabCollapse.prototype.showAccordion = function(){ |
121 | 131 | this.$tabs.trigger($.Event('show-accordion.bs.tabcollapse')); |
122 | 132 |
|
|
129 | 139 | view.$accordion.append(view._createAccordionGroup(view.$accordion.attr('id'), $heading.detach())); |
130 | 140 | }); |
131 | 141 |
|
132 | | - if(this.options.updateLinks) { |
| 142 | + if (this.options.updateLinks) { |
133 | 143 | var parentId = this.$accordion.attr('id'); |
134 | 144 | var $selector = this.$accordion.find('.js-tabcollapse-panel-body'); |
135 | 145 | $selector.find('[data-toggle="tab"], [data-toggle="pill"]').each(function() { |
|
195 | 205 | this.$tabs.after(this.$accordion); |
196 | 206 | this.$tabs.addClass(this.options.tabsClass); |
197 | 207 | this.getTabContentElement().addClass(this.options.tabsClass); |
| 208 | + if (this.options.syncTabs) { |
| 209 | + this.$accordion.on('shown.bs.collapse', { tabCollapse: this }, this.tabSync); |
| 210 | + } |
198 | 211 | }; |
199 | 212 |
|
200 | 213 | TabCollapse.prototype._createAccordionGroup = function(parentId, $heading){ |
|
0 commit comments