1
1
///////////////////////////// Make headers linkable /////////////////////////////
2
+ import $ from 'jquery' ;
3
+ import { scrollToAnchor } from './scroll.js' ;
4
+
5
+ // Expand accordions on load based on URL anchor
6
+ function openAccordionByHash ( ) {
7
+ var anchor = window . location . hash ;
8
+
9
+ function expandElement ( ) {
10
+ if ( $ ( anchor ) . parents ( '.expand' ) . length > 0 ) {
11
+ return $ ( anchor ) . closest ( '.expand' ) . children ( '.expand-label' ) ;
12
+ } else if ( $ ( anchor ) . hasClass ( 'expand' ) ) {
13
+ return $ ( anchor ) . children ( '.expand-label' ) ;
14
+ }
15
+ } ;
16
+
17
+ if ( expandElement ( ) != null ) {
18
+ if ( expandElement ( ) . children ( '.expand-toggle' ) . hasClass ( 'open' ) ) { }
19
+ else {
20
+ expandElement ( ) . children ( '.expand-toggle' ) . trigger ( 'click' ) ;
21
+ } ;
22
+ } ;
23
+ } ;
24
+
25
+ function contentInteractions ( ) {
2
26
3
27
var headingWhiteList = $ ( "\
4
28
.article--content h2, \
@@ -12,7 +36,7 @@ var headingBlackList = ("\
12
36
.influxdbu-banner h4 \
13
37
" ) ;
14
38
15
- headingElements = headingWhiteList . not ( headingBlackList ) ;
39
+ const headingElements = headingWhiteList . not ( headingBlackList ) ;
16
40
17
41
headingElements . each ( function ( ) {
18
42
function getLink ( element ) {
@@ -33,26 +57,6 @@ var elementWhiteList = [
33
57
"a.fullscreen-close"
34
58
]
35
59
36
- function scrollToAnchor ( target ) {
37
- var $target = $ ( target ) ;
38
- if ( $target && $target . length > 0 ) {
39
- $ ( 'html, body' ) . stop ( ) . animate ( {
40
- 'scrollTop' : ( $target . offset ( ) . top )
41
- } , 400 , 'swing' , function ( ) {
42
- window . location . hash = target ;
43
- } ) ;
44
-
45
- // Unique accordion functionality
46
- // If the target is an accordion element, open the accordion after scrolling
47
- if ( $target . hasClass ( 'expand' ) ) {
48
- if ( $ ( target + ' .expand-label .expand-toggle' ) . hasClass ( 'open' ) ) { }
49
- else {
50
- $ ( target + '> .expand-label' ) . trigger ( 'click' ) ;
51
- } ;
52
- } ;
53
- }
54
- }
55
-
56
60
$ ( '.article a[href^="#"]:not(' + elementWhiteList + ')' ) . click ( function ( e ) {
57
61
e . preventDefault ( ) ;
58
62
scrollToAnchor ( this . hash ) ;
@@ -98,25 +102,7 @@ $('.expand-label').click(function() {
98
102
$ ( this ) . next ( '.expand-content' ) . slideToggle ( 200 )
99
103
} )
100
104
101
- // Expand accordions on load based on URL anchor
102
- function openAccordionByHash ( ) {
103
- var anchor = window . location . hash ;
104
105
105
- function expandElement ( ) {
106
- if ( $ ( anchor ) . parents ( '.expand' ) . length > 0 ) {
107
- return $ ( anchor ) . closest ( '.expand' ) . children ( '.expand-label' ) ;
108
- } else if ( $ ( anchor ) . hasClass ( 'expand' ) ) {
109
- return $ ( anchor ) . children ( '.expand-label' ) ;
110
- }
111
- } ;
112
-
113
- if ( expandElement ( ) != null ) {
114
- if ( expandElement ( ) . children ( '.expand-toggle' ) . hasClass ( 'open' ) ) { }
115
- else {
116
- expandElement ( ) . children ( '.expand-toggle' ) . trigger ( 'click' ) ;
117
- } ;
118
- } ;
119
- } ;
120
106
121
107
// Open accordions by hash on page load.
122
108
openAccordionByHash ( )
@@ -152,3 +138,9 @@ $('.article--content a').each(function() {
152
138
$ ( this ) . attr ( 'target' , '_blank' ) ;
153
139
} ;
154
140
} )
141
+
142
+ }
143
+
144
+ export default function ContentInteractions ( ) {
145
+ contentInteractions ( ) ;
146
+ }
0 commit comments