9
9
*
10
10
*/
11
11
12
- var panelsUtil = {
12
+ import { urlHandler } from './utils' ;
13
+
14
+ export const panelsUtil = {
13
15
/**
14
16
* Add click events to the template that was rendered
15
17
* @param {String } the rendered template for the modal
16
18
* @param {String } the pattern partial for the modal
17
19
*/
18
20
addClickEvents : function ( templateRendered , patternPartial ) {
19
21
var els = templateRendered . querySelectorAll ( '.pl-js-tab-link' ) ;
20
- for ( var i = 0 ; i < els . length ; ++ i ) {
22
+ for ( let i = 0 ; i < els . length ; ++ i ) {
21
23
els [ i ] . onclick = function ( e ) {
22
24
e . preventDefault ( ) ;
23
25
@@ -36,32 +38,33 @@ var panelsUtil = {
36
38
* @param {String } the ID of the panel to be shown
37
39
*/
38
40
show : function ( patternPartial , panelID ) {
39
- var els ;
41
+ const activeTabClass = 'pl-is-active-tab' ;
40
42
41
43
// turn off all of the active tabs
42
- els = document . querySelectorAll (
43
- '#pl-' + patternPartial + '-tabs .pl-js-tab-link'
44
- ) ;
45
- for ( i = 0 ; i < els . length ; ++ i ) {
46
- els [ i ] . classList . remove ( 'pl-is-active-tab' ) ;
47
- }
44
+ const allTabLinks = document . querySelectorAll ( `.pl-js-tab-link` ) ;
48
45
49
46
// hide all of the panels
50
- els = document . querySelectorAll (
51
- '#pl-' + patternPartial + '-panels .pl-js-tab-panel'
47
+ const allTabPanels = document . querySelectorAll ( `.pl-js-tab-panel` ) ;
48
+
49
+ // tabLink about to become active
50
+ const activeTabLink = document . querySelector (
51
+ `#pl-${ patternPartial } -${ panelID } -tab`
52
52
) ;
53
- for ( i = 0 ; i < els . length ; ++ i ) {
54
- els [ i ] . classList . remove ( 'pl-is-active-tab' ) ;
53
+
54
+ // tabPanelabout to become active
55
+ const activeTabPanel = document . querySelector (
56
+ `#pl-${ patternPartial } -${ panelID } -panel`
57
+ ) ;
58
+
59
+ for ( let i = 0 ; i < allTabLinks . length ; ++ i ) {
60
+ allTabLinks [ i ] . classList . remove ( activeTabClass ) ;
55
61
}
56
62
57
- // add active tab class
58
- document
59
- . getElementById ( 'pl-' + patternPartial + '-' + panelID + '-tab' )
60
- . classList . add ( 'pl-is-active-tab' ) ;
63
+ for ( let i = 0 ; i < allTabPanels . length ; ++ i ) {
64
+ allTabPanels [ i ] . classList . remove ( activeTabClass ) ;
65
+ }
61
66
62
- // show the panel
63
- document
64
- . getElementById ( 'pl-' + patternPartial + '-' + panelID + '-panel' )
65
- . classList . add ( 'pl-is-active-tab' ) ;
67
+ activeTabLink . classList . add ( activeTabClass ) ;
68
+ activeTabPanel . classList . add ( activeTabClass ) ;
66
69
} ,
67
70
} ;
0 commit comments