\n
\n - ");
if (elementSettings.custom_style_list == 'hm-toc-slide-style') {
htmlul += "<".concat(elementSettings.html_tag, " class=\"hm-toc-title\">").concat(elementSettings.widget_title, "").concat(elementSettings.html_tag, ">");
} else {
htmlul += "<".concat(elementSettings.html_tag, " class=\"hm-toc-title\">").concat(elementSettings.widget_title, "").concat(elementSettings.html_tag, ">");
}
htmlul += "<".concat(settings.listWrapperTag, " class=\"hm-toc-items-inner\">");
for (var i = 0; i < this.headingsData.length; i++) {
var list = '';
var currentItemDot = this.headingsData[i];
if (level > currentItemDot.level) {
break;
}
var listItemTextClasses = settings.classes.listItemText;
if (0 === currentItemDot.level) {
// If the current list item is a top level item, give it the first level class
listItemTextClasses += " " + settings.classes.firstLevelListItem;
}
if (level === currentItemDot.level) {
list += "
- ");
if ('bullets' === elementSettings.marker_view && icon && elementSettings.custom_style_list == 'hm-toc-slide-style') {
list += "");
}
list += "").concat(currentItemDot.text, "");
list += "
";
}
htmlul += list;
}
htmlul += "".concat(settings.listWrapperTag, ">");
htmlul += " \n
";
}
return htmlul;
},
getNestedLevel: function getNestedLevel(level) {
var settings = this.getSettings(),
elementSettings = this.getElementSettings(),
icon = this.getElementSettings("icon");
var html = '';
// Open new list/nested list
html += "<" + settings.listWrapperTag + ' class="' + settings.classes.listWrapper + '">';
// for each list item, build its markup.
while (this.listItemPointer < this.headingsData.length) {
var currentItem = this.headingsData[this.listItemPointer];
var listItemTextClasses = settings.classes.listItemText;
if (0 === currentItem.level) {
// If the current list item is a top level item, give it the first level class
listItemTextClasses += " " + settings.classes.firstLevelListItem;
}
if (level > currentItem.level) {
break;
}
if (level === currentItem.level) {
html += '
';
html += '';
var liContent = '
' + currentItem.text + "";
// If list type is bullets, add the bullet icon as an
tag
if ("bullets" === elementSettings.marker_view && icon) {
liContent = '' + liContent;
}
html += liContent;
html += " ";
this.listItemPointer++;
var nextItem = this.headingsData[this.listItemPointer];
if (nextItem && level < nextItem.level) {
// If a new nested list has to be created under the current item,
// this entire method is called recursively (outside the while loop, a list wrapper is created)
html += this.getNestedLevel(nextItem.level);
}
html += "";
}
}
html += "" + settings.listWrapperTag + ">";
return html;
},
handleNoHeadingsFound: function handleNoHeadingsFound() {
var _messages = 'No headings were found on this page.';
if (elementorFrontend.isEditMode()) {
return this.elements.$tocBody.html(_messages);
}
},
collapseOnInit: function collapseOnInit() {
var $self = this;
var minimizedOn = this.getElementSettings("minimized_on"),
currentDeviceMode = elementorFrontend.getCurrentDeviceMode();
if ("" !== minimizedOn && "array" !== typeof minimizedOn) {
minimizedOn = [minimizedOn];
}
if (0 !== minimizedOn.length && "object" === _typeof(minimizedOn)) {
minimizedOn.forEach(function (value) {
if ("desktop" === value[0] && "desktop" == currentDeviceMode && $(window).width() < elementorFrontend.config.breakpoints.xxl || "tablet" === value[0] && "tablet" === currentDeviceMode && $(window).width() < elementorFrontend.config.breakpoints.lg || "mobile" === value[0] && "mobile" === currentDeviceMode && $(window).width() < elementorFrontend.config.breakpoints.md) {
$self.collapseBox();
}
});
}
},
getHeadingAnchorLink: function getHeadingAnchorLink(index, classes) {
var headingID = this.elements.$headings[index].id,
wrapperID = this.elements.$headings[index].closest('.elementor-widget').id;
var anchorLink = '';
if (headingID) {
anchorLink = headingID;
} else if (wrapperID) {
// If the heading itself has an ID, we don't want to overwrite it
anchorLink = wrapperID;
} // If there is no existing ID, use the heading text to create a semantic ID
if (headingID || wrapperID) {
jQuery(this.elements.$headings[index]).data('hasOwnID', true);
} else {
anchorLink = "".concat(classes.headingAnchor, "-").concat(index);
}
return anchorLink;
},
setHeadingsData: function setHeadingsData() {
var $this = this;
this.headingsData = [];
var classes = this.getSettings("classes");
// Create an array for simplifying TOC list creation
this.elements.$headings.each(function (index, element) {
var anchorLink = $this.getHeadingAnchorLink(index, classes);
$this.headingsData.push({
tag: +element.nodeName.slice(1),
text: element.textContent,
anchorLink: anchorLink
});
});
},
run: function run() {
var elementSettings = this.getElementSettings();
this.elements.$headings = this.getHeadings();
if (!this.elements.$headings.length) {
return this.handleNoHeadingsFound();
}
this.setHeadingsData();
if (!elementorFrontend.isEditMode()) {
this.addAnchorsBeforeHeadings();
}
this.populateTOC();
if (elementSettings.minimize_box) {
this.collapseOnInit();
}
if (elementSettings.sticky_toc_toggle) {
this.handleStickyToc();
}
if ("" !== elementSettings.scroll_offset.size) {
this.setOffset();
}
},
expandBox: function expandBox() {
var boxHeight = this.getCurrentDeviceSetting("min_height");
this.$element.removeClass(this.getSettings("classes.collapsed"));
this.elements.$tocBody.slideDown();
// return container to the full height in case a min-height is defined by the user
this.elements.$widgetContainer.css("min-height", boxHeight.size + boxHeight.unit);
},
collapseBox: function collapseBox() {
this.$element.addClass(this.getSettings("classes.collapsed"));
this.elements.$tocBody.slideUp();
// close container in case a min-height is defined by the user
this.elements.$widgetContainer.css("min-height", "0px");
},
onInit: function onInit() {
var $self = this;
this.initElements();
this.bindEvents();
jQuery(document).ready(function () {
$self.run();
});
},
onListItemClick: function onListItemClick(event) {
var $self = this;
this.itemClicked = true;
setTimeout(function () {
return $self.itemClicked = false;
}, 2000);
var $clickedItem = jQuery(event.target),
$list = $clickedItem.parent().next(),
collapseNestedList = this.getElementSettings("collapse_subitems");
if ("SPAN" == $clickedItem[0].tagName && 'yes' == this.getElementSettings("custom_style")) {
$clickedItem = jQuery(event.currentTarget);
}
var listIsActive = void 0;
if (collapseNestedList && $clickedItem.hasClass(this.getSettings("classes.firstLevelListItem"))) {
if ($list.is(":visible")) {
listIsActive = true;
}
}
this.activateItem($clickedItem);
if (collapseNestedList && listIsActive) {
$list.slideUp();
}
},
handleStickyToc: function handleStickyToc() {
var elementSettings = this.getElementSettings();
var currentDeviceMode = elementorFrontend.getCurrentDeviceMode();
var $devices = elementSettings.sticky_toc_disable_on;
var target = this.getID();
var type = elementSettings.sticky_toc_type;
if ("in-place" === type) {
var parentWidth = target.parent().parent().outerWidth();
target.css("width", parentWidth);
} else if ("custom-position" === type) {
var parentWidth = target.parent().parent().outerWidth();
target.css("width", parentWidth);
}
if (-1 == $.inArray(currentDeviceMode, $devices)) {
target.removeClass('floating-toc');
$(window).off('scroll', this.stickyScroll);
return;
}
$(window).on('scroll', $.proxy(this.stickyScroll, this));
},
stickyScroll: function stickyScroll() {
var target = this.getID();
var elementSettings = this.getElementSettings();
var item = document.querySelector(".ha-table-of-contents");
var bound, tocHeight;
bound = item.getBoundingClientRect();
tocHeight = target.outerHeight();
if (target.hasClass("floating-toc")) {
target.parent().parent().css("height", tocHeight);
} else {
target.parent().parent().css("height", '');
}
if (bound.y + bound.height / 2 < 0) {
if (target.hasClass('floating-toc')) {
return;
}
target.addClass("floating-toc");
} else {
if (!target.hasClass('floating-toc')) {
return;
}
target.removeClass("floating-toc");
}
},
scrollToTop: function scrollToTop() {
var $self = this;
var scrollTo = this.getElementSettings("scroll_to_top_option");
if ("window_top" === scrollTo) {
$("html, body").animate({
scrollTop: 0
}, 250);
} else {
var $id = this.getID().parents('.ha-table-of-contents');
$("html, body").animate({
scrollTop: $($id).offset().top - 60
}, 1000);
}
},
getID: function getID() {
return $("#ha-toc-" + this.$element[0].attributes["data-id"].nodeValue);
}
});
elementorFrontend.hooks.addAction("frontend/element_ready/ha-table-of-contents.default", function ($scope) {
elementorFrontend.elementsHandler.addHandler(HaTOC, {
$element: $scope
});
});
//creativeSlider
var HaCreativeSlider = function HaCreativeSlider($scope) {
var $rcContainer = $scope.find('.ha-creative-slider-container');
if ($rcContainer) {
var $haCsWidth = window.innerWidth;
var $haCsNextSelector = parseInt($haCsWidth) <= 767 ? $rcContainer.find('.ha_cs_mobile_next') : $rcContainer.find('.ha_cc_next_wrapper');
var $haCsPrevSelector = parseInt($haCsWidth) <= 767 ? $rcContainer.find('.ha_cs_mobile_prev') : $rcContainer.find('.ha_cc_prev_wrapper');
var csTextItemDelay = parseInt($haCsWidth) <= 767 ? 40 : 30;
var csImageItemDelay = 40;
var csPrevItemsOwl = $rcContainer.find('.ha_cc_prev_items');
var csTextItemsOwl = $rcContainer.find('.ha_cc_text_items');
var csImageItemsOwl = $rcContainer.find('.ha_cc_inner_image_items');
var csNextItemsOwl = $rcContainer.find('.ha_cc_next_items');
var csPrevNavOptions = {
loop: true,
dots: false,
nav: false,
items: 1,
autoplay: false,
smartSpeed: 500,
touchDrag: false,
mouseDrag: false,
rewind: true,
startPosition: -1
};
var csNextNavOptions = {
loop: true,
dots: false,
nav: false,
items: 1,
autoplay: false,
smartSpeed: 500,
touchDrag: false,
mouseDrag: false,
rewind: true,
startPosition: 1
};
var csGeneralOptions = {
loop: true,
dots: false,
nav: false,
items: 1,
autoplay: false,
smartSpeed: 1000,
touchDrag: false,
mouseDrag: false,
singleItem: true,
animateOut: 'fadeOutRight',
animateIn: 'fadeInLeft',
rewind: true
};
}
csPrevItemsOwl.owlCarousel(csPrevNavOptions);
csNextItemsOwl.owlCarousel(csNextNavOptions);
csTextItemsOwl.owlCarousel(csGeneralOptions);
csImageItemsOwl.owlCarousel(csGeneralOptions);
window.parent.addEventListener('message', function (e) {
if ('ha_cs_reinit' == e.data) {
csTextItemsOwl.owlCarousel('refresh');
csImageItemsOwl.owlCarousel('refresh');
}
});
$($haCsPrevSelector).click(function (e) {
e.preventDefault();
csPrevItemsOwl.trigger('prev.owl.carousel');
csNextItemsOwl.trigger('prev.owl.carousel');
setTimeout(function () {
csTextItemsOwl.trigger('prev.owl.carousel');
}, csTextItemDelay);
setTimeout(function () {
csImageItemsOwl.trigger('prev.owl.carousel');
}, csTextItemDelay + csImageItemDelay);
});
$($haCsNextSelector).click(function (e) {
e.preventDefault();
csPrevItemsOwl.trigger('next.owl.carousel');
csNextItemsOwl.trigger('next.owl.carousel');
setTimeout(function () {
csTextItemsOwl.trigger('next.owl.carousel');
}, csTextItemDelay);
setTimeout(function () {
csImageItemsOwl.trigger('next.owl.carousel');
}, csTextItemDelay + csImageItemDelay);
});
};
elementorFrontend.hooks.addAction('frontend/element_ready/ha-creative-slider.default', HaCreativeSlider);
//Advanced Comparison Table
var AdvancedComparisonTable = function AdvancedComparisonTable($scope) {
var nav = $scope.find('ul.ha-adct-table-responsive-nav');
var rows = $scope.find(".ha-adct-row, .ha-adct-child-row");
var collapse = $scope.find(".ha-adct-collapse-icon-wrap");
// console.log(rows);
var pos = 2;
nav.on("click", "li", function () {
var pos = $(this).index() + 2;
// console.log( pos );
rows.find(".ha-adct-column:not(:eq(0))").hide();
$scope.find(".ha-adct-column:nth-child(" + pos + ")").css("display", "flex");
nav.find("li").removeClass("active");
$(this).addClass("active");
});
collapse.on("click", function () {
var row_wrap = $(this).closest('.ha-adct-row-wrap');
// console.log( row_wrap );
$(this).toggleClass('open');
row_wrap.find('.ha-adct-child-row-wrap').slideToggle("slow");
// row_wrap.find('.ha-adct-child-row-wrap .ha-adct-column').slideToggle("slow");
// $('.ha-adct-heading').slideToggle("slow");
});
// Initialize the media query
//var mediaQuery = window.matchMedia("(min-width: 767px)");
// console.log(mediaQuery);
$(window).on('resize', function () {
var mode = $('body').attr('data-elementor-device-mode');
// console.log(mode);
if ('tablet' == mode || 'mobile_extra' == mode || 'mobile' == mode) {
rows.find(".ha-adct-column:not(:eq(0))").hide();
$scope.find(".ha-adct-column:nth-child(" + pos + ")").css("display", "flex");
} else {
rows.find(".ha-adct-column").removeAttr("style");
}
});
};
elementorFrontend.hooks.addAction('frontend/element_ready/ha-advanced-comparison-table.default', AdvancedComparisonTable);
});
})(jQuery, Happy, window);