PluginProbe ʕ •ᴥ•ʔ
Nested Pages / trunk
Nested Pages vtrunk
3.2.14 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.3.0 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.2 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.3.1 1.6.3.2 1.6.4 1.6.5 1.6.5.1 1.6.5.2 1.6.6 1.6.7 1.6.8 1.7.0 1.7.1 2.0.1 2.0.2 2.0.3 2.0.4 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.20 3.1.21 3.1.22 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7
wp-nested-pages / assets / js / lib / nestedpages.tabs.js
wp-nested-pages / assets / js / lib Last commit date
jquery.mjs.nestedSortable.js 4 years ago jquery.ui.touch-punch.min.js 11 years ago nestedpages-factory.js 3 years ago nestedpages.bulk-actions.js 4 years ago nestedpages.check-all.js 9 years ago nestedpages.clone.js 3 years ago nestedpages.confirm-delete.js 8 years ago nestedpages.dropdowns.js 8 years ago nestedpages.formatter.js 3 years ago nestedpages.hidden-item-count.js 9 years ago nestedpages.manual-sync.js 9 years ago nestedpages.menu-links.js 3 years ago nestedpages.menu-search.js 1 year ago nestedpages.menu-toggle.js 8 years ago nestedpages.modals.js 8 years ago nestedpages.move-post.js 8 years ago nestedpages.nesting.js 3 years ago nestedpages.new-post.js 6 years ago nestedpages.page-toggle.js 4 years ago nestedpages.post-search.js 9 years ago nestedpages.quickedit-link.js 8 years ago nestedpages.quickedit-post.js 3 years ago nestedpages.settings-admin-customization.js 6 years ago nestedpages.settings-reset.js 6 years ago nestedpages.settings.js 3 years ago nestedpages.sync-menu-setting.js 8 years ago nestedpages.tabs.js 6 years ago nestedpages.trash-with-children.js 6 years ago nestedpages.trash.js 8 years ago nestedpages.userprefs-reset.js 7 years ago nestedpages.wpml.js 8 years ago
nestedpages.tabs.js
64 lines
1 /**
2 * Tabs
3 *
4 * @author Kyle Phillips
5 *
6 * To use, include links with a data-tab-toggle attribute which matches the tab pane's data-tab-pane attribute
7 * The tabs and panes should all the same data-tab-group attribute value
8 * Add a CSS selector of .tab-pane to panes to hide them
9 */
10 var NestedPages = NestedPages || {};
11 NestedPages.Tabs = function()
12 {
13 var self = this;
14 var $ = jQuery;
15
16 self.selectors = {
17 tabToggle : 'data-np-tab-toggle',
18 tabPane : 'data-np-tab-pane',
19 tabGroup : 'data-np-tab-group'
20 }
21
22 self.bindEvents = function()
23 {
24 $(document).on('click', '[' + self.selectors.tabToggle + ']', function(e){
25 e.preventDefault();
26 self.toggleTabs($(this));
27 });
28 }
29
30 /**
31 * Toggle the Tabs
32 */
33 self.toggleTabs = function(tab)
34 {
35 var tabGroup = $(tab).attr(self.selectors.tabGroup);
36 var tabPanes = $('*[' + self.selectors.tabGroup + '=' + tabGroup + '][' + self.selectors.tabPane + ']');
37 var activeTab = $(tab).attr(self.selectors.tabToggle);
38 var buttons = $('*[' + self.selectors.tabGroup + '=' + tabGroup + '][' + self.selectors.tabToggle + ']');
39 var listItems = [];
40
41 for ( var i = 0; i < buttons.length; i++ ){
42 listItems[i] = $(buttons[i]).parent('li')[0];
43 }
44
45 $(tabPanes).hide();
46 $(buttons).removeClass('active');
47 $(listItems).removeClass('active');
48
49 $.each(tabPanes, function(){
50 if ( $(this).attr(self.selectors.tabPane) == activeTab ) $(this).show();
51 });
52
53 $.each(buttons, function(){
54 if ( $(this).attr(self.selectors.tabToggle) == activeTab ) {
55 $(this).addClass('active');
56 $(this).parent('li').addClass('active');
57 }
58 });
59
60 $(document).trigger('tabs-changed', [activeTab, tabGroup, tab]);
61 }
62
63 return self.bindEvents();
64 }