PluginProbe ʕ •ᴥ•ʔ
Nested Pages / 3.3.1
Nested Pages v3.3.1
3.3.1 3.2.15 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 / src / nestedpages.tabs.js
wp-nested-pages / assets / js / src Last commit date
jquery.mjs.nestedSortable.js 1 week ago jquery.ui.touch-punch.min.js 1 week ago nestedpages-factory.js 1 week ago nestedpages.bulk-actions.js 1 week ago nestedpages.check-all.js 1 week ago nestedpages.clone.js 1 week ago nestedpages.confirm-delete.js 1 week ago nestedpages.dropdowns.js 1 week ago nestedpages.formatter.js 1 week ago nestedpages.hidden-item-count.js 1 week ago nestedpages.manual-sync.js 1 week ago nestedpages.menu-links.js 1 week ago nestedpages.menu-search.js 1 week ago nestedpages.menu-toggle.js 1 week ago nestedpages.modals.js 1 week ago nestedpages.move-post.js 1 week ago nestedpages.nesting.js 1 week ago nestedpages.new-post.js 1 week ago nestedpages.page-toggle.js 1 week ago nestedpages.post-search.js 1 week ago nestedpages.quickedit-link.js 1 week ago nestedpages.quickedit-post.js 1 week ago nestedpages.settings-admin-customization.js 1 week ago nestedpages.settings-reset.js 1 week ago nestedpages.settings.js 1 week ago nestedpages.sync-menu-setting.js 1 week ago nestedpages.tabs.js 1 week ago nestedpages.trash-with-children.js 1 week ago nestedpages.trash.js 1 week ago nestedpages.userprefs-reset.js 1 week ago nestedpages.wpml.js 1 week 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 }