PageSourceSearch

https://stmargaretstl.org/wp-content/plugins/thegem-elements-eleme…/tabs-tours/assets/js/thegem-tabs.js

js stmargaretstl.org collected 2026-10-06 07:56:41 UTC 5,217 bytes, 75 lines download raw bytes

1! function($) {
2    "use strict";
3    var Tabs, old, clickHandler, changeHandler;
4
5    function Plugin(action, options) {
6        var args;
7        return args = Array.prototype.slice.call(arguments, 1), this.each(function() {
8            var $this, data;
9            (data = ($this = $(this)).data("vc.tabs")) || (data = new Tabs($this, $.extend(!0, {}, options)), $this.data("vc.tabs", data)), "string" == typeof action && data[action].apply(data, args)
10        })
11    }(Tabs = function(element, options) {
12        this.$element = $(element), this.activeClass = "gem-tta-active", this.tabSelector = "[data-vc-tab]", this.useCacheFlag = void 0, this.$target = void 0, this.selector = void 0, this.$targetTab = void 0, this.$relatedAccordion = void 0, this.$container = void 0
13    }).prototype.isCacheUsed = function() {
14        var useCache, that;
15        return useCache = function() {
16            return !1 !== that.$element.data("vcUseCache")
17        }, void 0 === (that = this).useCacheFlag && (this.useCacheFlag = useCache()), this.useCacheFlag
18    }, Tabs.prototype.getContainer = function() {
19        return this.isCacheUsed() ? (void 0 === this.$container && (this.$container = this.findContainer()), this.$container) : this.findContainer()
20    }, Tabs.prototype.findContainer = function() {
21        var $container;
22        return ($container = this.$element.closest(this.$element.data("vcContainer"))).length || ($container = $("body")), $container
23    }, Tabs.prototype.getContainerAccordion = function() {
24        return this.getContainer().find("[data-vc-accordion]")
25    }, Tabs.prototype.getSelector = function() {
26        var findSelector, $this;
27        return $this = this.$element, findSelector = function() {
28            var selector;
29            return (selector = $this.data("vcTarget")) || (selector = $this.attr("href")), selector
30        }, this.isCacheUsed() ? (void 0 === this.selector && (this.selector = findSelector()), this.selector) : findSelector()
31    }, Tabs.prototype.getTarget = function() {
32        var selector;
33        return selector = this.getSelector(), this.isCacheUsed() ? (void 0 === this.$target && (this.$target = this.getContainer().find(selector)), this.$target) : this.getContainer().find(selector)
34    }, Tabs.prototype.getRelatedAccordion = function() {
35        var tab, filterElements;
36        return filterElements = function() {
37            var $elements;
38            if (($elements = tab.getContainerAccordion().filter(function() {
39                    var $that, accordion;
40                    return void 0 === (accordion = ($that = $(this)).data("vc.accordion")) && ($that.vcAccordion(), accordion = $that.data("vc.accordion")), tab.getSelector() === accordion.getSelector()
41                })).length) return $elements
42        }, (tab = this).isCacheUsed() ? (void 0 === this.$relatedAccordion && (this.$relatedAccordion = filterElements()), this.$relatedAccordion) : filterElements()
43    }, Tabs.prototype.triggerEvent = function(event) {
44        var $event;
45        "string" == typeof event && ($event = $.Event(event), this.$element.trigger($event))
46    }, Tabs.prototype.getTargetTab = function() {
47        var $this;
48        return $this = this.$element, this.isCacheUsed() ? (void 0 === this.$targetTab && (this.$targetTab = $this.closest(this.tabSelector)), this.$targetTab) : $this.closest(this.tabSelector)
49    }, Tabs.prototype.tabClick = function() {
50        let $vcTabs = $('[data-vc-tabs]')
51        this.getRelatedAccordion().trigger("click")
52        $vcTabs.css('pointer-events', 'none')
53        setTimeout(() => $vcTabs.css('pointer-events', ''), 800)
54    }, Tabs.prototype.show = function() {
55        this.getTargetTab().hasClass(this.activeClass) || (this.triggerEvent("show.vc.tab"), this.getTargetTab().addClass(this.activeClass))
56    }, Tabs.prototype.hide = function() {
57        this.getTargetTab().hasClass(this.activeClass) && (this.triggerEvent("hide.vc.tab"), this.getTargetTab().removeClass(this.activeClass))
58    }, old = $.fn.vcTabs, $.fn.vcTabs = Plugin, $.fn.vcTabs.Constructor = Tabs, $.fn.vcTabs.noConflict = function() {
59        return $.fn.vcTabs = old, this
60    }, clickHandler = function(e) {
61        var $this;
62        $this = $(this), e.preventDefault(), Plugin.call($this, "tabClick")
63    }, changeHandler = function(e) {
64        var caller;
65        (caller = $(e.target).data("vc.accordion")) && (void 0 === caller.getRelatedTab && (caller.getRelatedTab = function() {
66            var findTargets;
67            return findTargets = function() {
68                return caller.getContainer().find("[data-vc-tabs]").filter(function() {
69                    var $this;
70                    return void 0 === ($this = $(this)).data("vc.accordion") && $this.vcAccordion(), $this.data("vc.accordion").getSelector() === caller.getSelector()
71                })
72            }
72, caller.isCacheUsed() ? (void 0 === caller.relatedTab && (caller.relatedTab = findTargets()), caller.relatedTab) : findTargets()
73        }), Plugin.call(caller.getRelatedTab(), e.type))
74    }, $(document).on("click.vc.tabs.data-api", "[data-vc-tabs]", clickHandler), $(document).on("show.vc.accordion hide.vc.accordion", changeHandler)
75}(window.jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.