( function( $ ) {
var scroll = true
var scroll_offset = 30
var scroll_delay = 800
var scroll_to_top = false
var scroll_element = null
UAGBTableOfContents = {
init: function() {
$( document ).delegate( ".uagb-toc__list a", "click", UAGBTableOfContents._scroll )
$( document ).delegate( ".uagb-toc__scroll-top", "click", UAGBTableOfContents._scrollTop )
$( document ).on( "scroll", UAGBTableOfContents._showHideScroll )
},
_showHideScroll: function( e ) {
if ( null != scroll_element ) {
if ( jQuery( window ).scrollTop() > 300 ) {
if ( scroll_to_top ) {
scroll_element.addClass( "uagb-toc__show-scroll" )
} else {
scroll_element.removeClass( "uagb-toc__show-scroll" )
}
} else {
scroll_element.removeClass( "uagb-toc__show-scroll" )
}
}
},
/**
* Smooth To Top.
*/
_scrollTop: function( e ) {
$( "html, body" ).animate( {
scrollTop: 0
}, scroll_delay )
},
/**
* Smooth Scroll.
*/
_scroll: function( e ) {
if ( this.hash !== "" ) {
var hash = this.hash
if ( scroll ) {
var offset = $( hash ).offset()
if ( "undefined" != typeof offset ) {
$( "html, body" ).animate( {
scrollTop: ( offset.top - scroll_offset )
}, scroll_delay )
}
}
}
},
_parseEntity: function( text ) {
let charEntity = [ "&", ">", "<", """, "'" ]
for ( var k = 0 ; k < charEntity.length; k++ ) {
text = text.split(charEntity[k]).join("")
}
text = text.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, "")
return text
},
_parse: function( match ) {
let text = match[0]
text = text.replace( "