https://sofia-art-galleries.com/wp-content/plugins/citadelawp-pro/assets/js/script.js?ver=1784997837
1/* 2* Citadela Pro plugin javascripts 3* 4*/ 5 6jQuery(document).ready(function(){ 7 "use strict"; 8 // functionality for widget titles deprecated from WP 5.8 9 //citadelaWidgetTitles(); 10 //citadelaCollapsibleSidebarsWidgets(); 11 citadelaCollapsibleFooterWidgets(); 12 citadelaWoocommerceCart(); 13 citadelaMobileSettings(); 14 citadelaProTriggers(); 15}); 16 17/* Window Resize Hook */ 18jQuery(window).resize(function(){ 19 // functionality for widget titles deprecated from WP 5.8 20 //citadelaCollapsibleSidebarsWidgets(); 21 citadelaCollapsibleFooterWidgets(); 22 citadelaClearStickyHeaderClasses(); 23 24}); 25 26function citadelaProTriggers(){ 27 jQuery( 'body.sticky-header-enabled header#masthead' ).on( 'ctdl_sticky_header_toggled', function(e){ 28 citadelaCloseAllTopItemsSubmenus(); 29 citadelaMainMenuBurger(); 30 }); 31 32 jQuery( 'body' ).on( 'ctdl_device_design_swap', function(e, device){ 33 var $body = jQuery( 'body' ); 34 35 citadelaMobileSettings(); 36 37 if( $body.find('header#masthead').hasClass('is-sticky') || ( $body.hasClass('header-scrolled') && $body.hasClass(`sticky-header-${device}-full`) ) ){ 38 citadelaRestartStickyHeader(); 39 } 40 41 if( $body.hasClass('sticky-header-enabled') ){ 42 var $header = jQuery('body').find('header#masthead'); 43 var $custom_header_logo = $header.find('.custom-header-logo'); 44 var $default_logo = $header.find('.default-logo'); 45 46 // check if device may have sticky header 47 if( $body.hasClass(`sticky-header-${device}-full`) ){ 48 if( $header.hasClass('is-sticky') ){ 49 citadelaSwitchLogo( $custom_header_logo, $default_logo ); 50 }else{ 51 citadelaSwitchLogo( $default_logo, $custom_header_logo ); 52 } 53 }else{ 54 //set logo for non sticky header 55 citadelaSwitchLogo( $default_logo, $custom_header_logo ); 56 } 57 } 58 59 }); 60 61} 62function citadelaRestartStickyHeader(){ 63 var $body = jQuery( 'body' ); 64 $body.find('header#masthead').removeClass('is-sticky'); 65 $body.find('.sticky-header-wrapper').css('height', ''); 66 // show sticky header with delay because of css transitions in header elements 67 setTimeout(function(){ 68 citadelaShowStickyHeader($body.find('.sticky-header-wrapper')); 69 },300 ); 70 71} 72function citadelaMobileSettings(){ 73 var $body = jQuery( 'body' ); 74 var $logo_wrapper = jQuery( 'header#masthead .logo-wrapper' ); 75 var $site_title = jQuery( 'header#masthead .site-title' ); 76 var $logo_wrapper_maxWidth = $logo_wrapper.data( 'mobile-max-width' ); 77 var $site_title_fontSize = $site_title.data( 'mobile-font-size' ); 78 var isResponsive = $body.hasClass( 'mobile-screen-width' ); 79 80 if( isResponsive ){ 81 if( $logo_wrapper_maxWidth ){ 82 $logo_wrapper.css('max-width', $logo_wrapper_maxWidth['mobile']); 83 } 84 if( $site_title_fontSize ){ 85 $site_title.css('font-size', $site_title_fontSize['mobile']); 86 } 87 88 }else{ 89 if( $logo_wrapper_maxWidth ){ 90 $logo_wrapper.css('max-width', $logo_wrapper_maxWidth['desktop']); 91 } 92 if( $site_title_fontSize ){ 93 $site_title.css('font-size', $site_title_fontSize['desktop']); 94 } 95 } 96} 97 98function citadelaClearStickyHeaderClasses(){ 99 var $body = jQuery('body'); 100 var isResponsive = $body.hasClass( 'mobile-screen-width' ); 101 if( isResponsive ){ 102 if( ! $body.hasClass( 'sticky-header-mobile-full' ) ){ 103 $body.find('header.is-sticky').removeClass('is-sticky'); 104 $body.find('.sticky-header-wrapper').css('height', ''); 105 } 106 }else{ 107 if( ! $body.hasClass( 'sticky-header-desktop-full' ) ){ 108 $body.find('header.is-sticky').removeClass('is-sticky'); 109 $body.find('.sticky-header-wrapper').css('height', ''); 110 } 111 } 112} 113 114function citadelaHideStickyHeader( $wrapper ){ 115 var $body = jQuery('body'); 116 var $header = $wrapper.find('#masthead'); 117 if( 118 ( $body.hasClass( 'mobile-screen-width' ) && $body.hasClass( 'sticky-header-mobile-full' ) ) 119 || ( ! $body.hasClass( 'mobile-screen-width' ) && $body.hasClass( 'sticky-header-desktop-full' ) ) 120 ){ 121 $wrapper.css( 'height', ''); 122 $wrapper.find('#masthead').removeClass('is-sticky'); 123 citadelaSwitchLogo( $header.find('.default-logo'), $header.find('.custom-header-logo') ); 124 $wrapper.find('#masthead').trigger('ctdl_sticky_header_toggled'); 125 } 126} 127function citadelaShowStickyHeader( $wrapper ){ 128 var $body = jQuery('body'); 129 var $header = $wrapper.find('#masthead'); 130 if( 131 ( $body.hasClass( 'mobile-screen-width' ) && $body.hasClass( 'sticky-header-mobile-full' ) ) 132 || ( ! $body.hasClass( 'mobile-screen-width' ) && $body.hasClass( 'sticky-header-desktop-full' ) ) 133 ){ 134 if( ! $body.hasClass('custom-header-over-content') ){ 135 $wrapper.css( 'height', $header.attr('data-offset') + "px" ); 136 } 137 if( ! $header.hasClass('is-sticky') ){ 138 // set sticky header parameters while it's hidden 139 $header.css('visibility', 'hidden').addClass('is-sticky'); 140 citadelaSwitchLogo( $header.find('.custom-header-logo'), $header.find('.default-logo') ); 141 $header.trigger('ctdl_sticky_header_toggled'); 142 // finally show sticky header 143 $header.hide().css('visibility', '').delay(1).slideDown(); 144 } 145 } 146} 147 148function citadelaSwitchLogo( from, to, cb = false ){ 149 if( from.length && to.length ){ 150 from.fadeOut( 0, () => { 151 to.fadeIn( 0, () => { if( cb ) cb() } ) 152 } ); 153 } 154} 155function citadelaWoocommerceCart(){ 156 if( ! jQuery('.citadela-woocommerce-minicart').length ) return; 157 var $cart = jQuery('.citadela-woocommerce-minicart');
158 $cart.find('.cart-header').on('click', function(e){ 159 //close all submenus 160 $mainMenuUl = jQuery('#masthead').find('.citadela-menu-container').find('ul.citadela-menu'); 161 $mainMenuUl.find('.menu-item.opened, .menu-item-wrapper.opened, .sub-menu.opened').each(function(){ 162 jQuery(this).removeClass('opened'); 163 }); 164 165 var $body = jQuery('body'); 166 var isResponsive = $body.hasClass('responsive-menu'); 167 if( $cart.hasClass('opened') ){ 168 $cart.removeClass('opened'); 169 $body.removeClass('cart-opened'); 170 }else{ 171 $cart.addClass('opened'); 172 if( isResponsive ){ 173 $body.addClass('cart-opened'); 174 } 175 } 176 }); 177 178 jQuery(document.body).on('added_to_cart removed_from_cart wc_fragments_refreshed', function(e){ 179 //update class in main holder 180 var $count = parseInt( jQuery('.citadela-woocommerce-minicart .cart-count span').html() ); 181 if( typeof $count === 'number'){ 182 var $cart = jQuery('.citadela-woocommerce-minicart'); 183 if( $count === 0 ){ 184 $cart.addClass('is-empty'); 185 }else{ 186 $cart.removeClass('is-empty'); 187 } 188 citadelaMainMenuBurger(); 189 } 190 }); 191 192} 193 194function citadelaWidgetTitles(){ 195 var $sidebarWidgets = jQuery('aside#secondary').find('.widget'); 196 var $footerWidgets = jQuery('#footer-widgets').find('.widget'); 197 var $widgets = jQuery.merge($sidebarWidgets, $footerWidgets); 198 var $widget; 199 200 if($widgets.length){ 201 $widgets.each(function(){ 202 $widget = jQuery(this); 203 if(citadelaIsEmptyWidgetTitle($widget)){ 204 $widget.find('div.widget-title').addClass('no-title'); 205 } 206 }); 207 } 208} 209 210function citadelaCollapsibleFooterWidgets(){ 211 if( ! jQuery('body').hasClass('footer-collapsible-widgets-enabled') ){ 212 return; 213 } 214 var $footer = jQuery('footer#colophon'); 215 var $footerWidgetsButton = $footer.find('.footer-widgets-button'); 216 var $footerWidgetsArea = $footer.find('#footer-widgets'); 217 218 if( citadela_isResponsive(600) ){ 219 //before first load 220 if( ! jQuery('body').hasClass('footer-collapsible-widgets') && jQuery('body').hasClass('footer-widgets-default-opened')){ 221 $footerWidgetsButton.addClass('opened').removeClass('hidden'); 222 $footerWidgetsArea.addClass('collapsible-widgets opened'); 223 }else{ 224 $footerWidgetsButton.removeClass('hidden'); 225 $footerWidgetsArea.addClass('collapsible-widgets'); 226 } 227 jQuery('body').addClass('footer-collapsible-widgets'); 228 }else{ 229 $footerWidgetsButton.addClass('hidden').removeClass('opened'); 230 $footerWidgetsArea.removeClass('collapsible-widgets opened'); 231 jQuery('body').removeClass('footer-collapsible-widgets'); 232 } 233 234 $footerWidgetsButton.off(); 235 $footerWidgetsButton.on('click', function(e){ 236 if($footerWidgetsButton.hasClass('opened')){ 237 $footerWidgetsButton.removeClass('opened'); 238 $footerWidgetsArea.removeClass('opened'); 239 }else{ 240 $footerWidgetsButton.addClass('opened'); 241 $footerWidgetsArea.addClass('opened'); 242 } 243 }); 244 245} 246 247 248function citadelaCollapsibleSidebarsWidgets(){ 249 var $sidebar = jQuery('aside#secondary'); 250 var $widgets = $sidebar.find('.widget'); 251 if($widgets.length){ 252 $widgets.each(function(){ 253 $widget = jQuery(this); 254 if( citadela_isResponsive(1024) ){ 255 jQuery('body').addClass('sidebar-collapsible-widgets'); 256 citadelaApplyCollapsibleSidebarWidget($widget, $sidebar); 257 }else{ 258 jQuery('body').removeClass('sidebar-collapsible-widgets'); 259 citadelaDisableCollapsibleSidebarWidget($widget, $sidebar); 260 } 261 }); 262 } 263} 264 265function citadelaApplyCollapsibleSidebarWidget($widget, $sidebar){ 266 if( !$widget.hasClass('collapsible-widget')){ 267 $widgetTitle = $widget.find('div.widget-title'); 268 if( ! $widgetTitle.hasClass('no-title') ){ 269 270 if( ( $sidebar.hasClass('left-widget-area') && jQuery('body').hasClass('left-widgets-default-opened') ) 271 || ( $sidebar.hasClass('right-widget-area') && jQuery('body').hasClass('right-widgets-default-opened') ) ){ 272 $widget.addClass('opened'); 273 }else{ 274 $widget.find('div.widget-container').hide(); 275 } 276 277 $widgetTitle.on('click', function(e){ 278 e.preventDefault(); 279 var $clickedWidget = jQuery(this).parent('.widget'); 280 var $clickedWidgetContainer = $clickedWidget.find('.widget-container'); 281 $clickedWidget.toggleClass('opened'); 282 if($clickedWidget.hasClass('opened')){ 283 $clickedWidgetContainer.slideDown(); 284 }else{ 285 $clickedWidgetContainer.slideUp(); 286 } 287 288 }); 289 } 290 } 291 $widget.addClass('collapsible-widget'); 292}; 293 294function citadelaDisableCollapsibleSidebarWidget($widget, $sidebar){ 295 if( $widget.hasClass('collapsible-widget')){ 296 $widget.removeClass('collapsible-widget opened'); 297 $widget.find('div.widget-container').show(); 298 $widgetTitle = $widget.find('div.widget-title'); 299 $widgetTitle.off(); 300 } 301} 302 303 304function citadelaIsEmptyWidgetTitle($widget){ 305 var titleContent = $widget.find('div.widget-title').html(); 306 if( titleContent === "" || titleContent === "<!-- citadela-no-widget-title -->" ){ 307 return true; 308 } 309 return false
vendor: 4 bytes, lines 309-310
309; 310}
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.