Changeset 3884:0cea47e6b892 for admin/js
- Timestamp:
- 09/21/18 12:56:21 (7 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/js/jquery/jquery.pageTabs.js
r3690 r3884 1 /*global jQuery, chainHandler */ 2 'use strict'; 3 1 4 (function($) { 2 'use strict';3 5 4 6 $.pageTabs = function(start_tab, opts) { 5 vardefaults = {7 const defaults = { 6 8 containerClass: 'part-tabs', 7 9 partPrefix: 'part-', … … 12 14 13 15 $.pageTabs.options = $.extend({}, defaults, opts); 14 varactive_tab = start_tab || '';15 varhash = $.pageTabs.getLocationHash();16 varsubhash = $.pageTabs.getLocationSubhash();16 let active_tab = start_tab || ''; 17 const hash = $.pageTabs.getLocationHash(); 18 const subhash = $.pageTabs.getLocationSubhash(); 17 19 18 20 if (hash !== undefined && hash) { … … 25 27 createTabs(); 26 28 27 $('ul li', '.' + $.pageTabs.options.containerClass).click(function( e) {29 $('ul li', '.' + $.pageTabs.options.containerClass).click(function() { 28 30 if ($(this).hasClass($.pageTabs.options.activeClass)) { 29 31 return; … … 34 36 $('.' + $.pageTabs.options.contentClass + '.active').removeClass('active').hide(); 35 37 36 varpart_to_activate = $('#' + $.pageTabs.options.partPrefix + getHash($(this).find('a').attr('href')));38 const part_to_activate = $('#' + $.pageTabs.options.partPrefix + getHash($(this).find('a').attr('href'))); 37 39 38 40 part_to_activate.addClass('active').show(); … … 45 47 }); 46 48 47 $(window).bind('hashchange onhashchange', function( e) {49 $(window).bind('hashchange onhashchange', function() { 48 50 $.pageTabs.clickTab($.pageTabs.getLocationHash()); 49 51 }); … … 52 54 53 55 if (subhash !== undefined) { 54 varelt = document.getElementById(subhash);56 const elt = document.getElementById(subhash); 55 57 // Tab displayed, now scroll to the sub-part if defined in original document.location (#tab.sub-part) 56 elt.scrollIntoView() 58 elt.scrollIntoView(); 57 59 // Give focus to the sub-part if possible 58 60 $('#' + subhash).addClass('focus').focusout(function() { … … 65 67 }; 66 68 67 var createTabs = function createTabs() { 68 var lis = [], 69 li_class = ''; 69 const createTabs = function createTabs() { 70 let lis = []; 70 71 71 72 $('.' + $.pageTabs.options.contentClass).each(function() { … … 80 81 }; 81 82 82 vargetHash = function getHash(href) {83 varhref = href || '';83 const getHash = function getHash(href) { 84 href = href || ''; 84 85 85 86 return href.replace(/.*#/, ''); … … 92 93 // try to find anchor in a .multi-part div 93 94 if ($('#' + tab).length == 1) { 94 vardiv_content = $('#' + tab).parents('.' + $.pageTabs.options.contentClass);95 const div_content = $('#' + tab).parents('.' + $.pageTabs.options.contentClass); 95 96 if (div_content.length == 1) { 96 97 tab = div_content.attr('id').replace($.pageTabs.options.partPrefix, ''); … … 110 111 $.pageTabs.getLocationHash = function() { 111 112 // Return the URL hash (without subhash — #hash[.subhash]) 112 varh = getHash(document.location.hash).split('.');113 const h = getHash(document.location.hash).split('.'); 113 114 return h[0]; 114 115 }; 115 116 $.pageTabs.getLocationSubhash = function() { 116 117 // Return the URL subhash if present (without hash — #hash[.subhash]) 117 varsh = getHash(document.location.hash).split('.');118 const sh = getHash(document.location.hash).split('.'); 118 119 return sh[1]; 119 120 }; … … 123 124 this.each(function() { 124 125 if (f) { 125 chainHandler(this, 'tabload', f) 126 chainHandler(this, 'tabload', f); 126 127 } else { 127 varh = this.tabload;128 const h = this.tabload; 128 129 if (h) { 129 130 h.apply(this); … … 139 140 chainHandler(this, 'onetabload', f); 140 141 } else { 141 varh = this.onetabload;142 const h = this.onetabload; 142 143 if (h != null) { 143 144 h.apply(this);
Note: See TracChangeset
for help on using the changeset viewer.