1(function ($, window, document, undefined) { 2 "use strict"; 3 // Only apply if rt-tree list exists 4 if ($('ul.rt-tree').length) { 5 6 // Settings 7 var collapsed = true; 8 var close_same_level = true; 9 var duration = 400; 10 var listAnim = true; 11 var easing = 'easeInOutQuad'; 12 13 14 // Set initial styles 15 $('.rt-tree ul').css({ 16 'overflow': 'hidden', 17 'height': (collapsed) ? 0 : 'auto', 18 'display': (collapsed) ? 'none' : 'block' 19 }); 20 21 // Get node elements, and add classes for styling 22 var node = $('.rt-tree li:has(ul)'); 23 node.each(function (index, val) { 24 $(this).children(':first-child').css('cursor', 'pointer') 25 $(this).addClass('rt-tree-node rt-tree-' + ((collapsed) ? 'closed' : 'open')); 26 $(this).children('ul').addClass('rt-tree-level-' + ($(this).parentsUntil($('ul.rt-tree'), 'ul').length + 1)); 27 }); 28 29 // Set rt-tree-active class on list items for last opened element 30 $('.rt-tree li > *:first-child').on('click.rt-tree-active', function (e) { 31 if ($(this).parent().hasClass('rt-tree-closed')) { 32 $('.rt-tree-active').not($(this).parent()).removeClass('rt-tree-active'); 33 $(this).parent().addClass('rt-tree-active'); 34 } else if ($(this).parent().hasClass('rt-tree-open')) { 35 $(this).parent().removeClass('rt-tree-active'); 36 } else { 37 $('.rt-tree-active').not($(this).parent()).removeClass('rt-tree-active'); 38 $(this).parent().toggleClass('rt-tree-active'); 39 } 40 }); 41 42 node.children(':first-child').on('click.rt-tree', function (e) { 43 44 // element vars 45 var el = $(this).parent().children('ul').first(); 46 var isOpen = $(this).parent().hasClass('rt-tree-open'); 47 48 // close other elements on same level if opening 49 if ((close_same_level || $('.csl').hasClass('active')) && !isOpen) { 50 var close_items = $(this).closest('ul').children('.rt-tree-open').not($(this).parent()).children('ul'); 51 52 // Velocity.js 53 if ($.Velocity) { 54 close_items.velocity({ 55 height: 0 56 }, { 57 duration: duration, 58 easing: easing, 59 display: 'none', 60 delay: 100, 61 complete: function () { 62 setNodeClass($(this).parent(), true) 63 } 64 }); 65 66 // jQuery fallback 67 } else { 68 close_items.delay(100).slideToggle(duration, function () { 69 setNodeClass($(this).parent(), true); 70 }); 71 } 72 } 73 74 // force auto height of element so actual height can be extracted 75 el.css({ 76 'height': 'auto' 77 }); 78 79 // listAnim: animate child elements when opening 80 if (!isOpen && $.Velocity && listAnim) el.find(' > li, li.rt-tree-open > ul > li').css({ 81 'opacity': 0 82 }).velocity('stop').velocity('list'); 83 84 // Velocity.js animate element 85 if ($.Velocity) { 86 el.velocity('stop').velocity({ 87 //translateZ: 0, // optional hardware-acceleration is automatic on mobile 88 height: isOpen ? [0, el.outerHeight()] : [el.outerHeight(), 0] 89 }, { 90 queue: false, 91 duration: duration, 92 easing: easing, 93 display: isOpen ? 'none' : 'block', 94 begin: setNodeClass($(this).parent(), isOpen), 95 complete: function () { 96 if (!isOpen) $(this).css('height', 'auto'); 97 } 98 }); 99 100 // jQuery fallback animate element 101 } else { 102 setNodeClass($(this).parent(), isOpen); 103 el.slideToggle(duration); 104 } 105 106 // We can't have nodes as links unfortunately 107 e.preventDefault(); 108 }); 109 110 // Function for updating node class 111 function setNodeClass(el, isOpen) { 112 if (isOpen) { 113 el.removeClass('rt-tree-open').addClass('rt-tree-closed'); 114 } else { 115 el.removeClass('rt-tree-closed').addClass('rt-tree-open'); 116 } 117 } 118 119 // List animation sequence 120 if ($.Velocity && listAnim) { 121 $.Velocity.Redirects.list = function (element, options, index, size) { 122 $.Velocity.animate(element, { 123 opacity: [1, 0], 124 translateY: [0, -(index + 12)] 125 }, { 126 delay: index * (duration / size / 1.2), 127 duration: duration, 128 easing: easing 129 }); 130 }; 131 } 132 133 134 if ($('.rt-tree').css('opacity') == 0) { 135 if ($.Velocity) { 136 $('.rt-tree').css('opacity', 1).children().css('opacity', 0).velocity('list'); 137 } else { 138 $('.rt-tree').show(200); 139 } 140 } 141 142 $('body').addClass('menu-loaded'); 143 144 } 145}(jQuery, this, this.document)); 146 147jQuery(document).ready(function ($) { 148 "use strict"; 149 150 function MobileMenuReverse() { 151 $('.rt-tree .display-menu-item-image').stop(true, true).velocity('reverse'); 152 $('ul.rt-tree > li').stop(true, true).velocity('reverse'); 153 } 154 155 if ($('#rt-main-toggle-menu').length) { 156 $('#rt-main-toggle-menu').on('click', function () { 157 if ($('body').hasClass('menu-is-onscreen')) { 158 if (!$('body').hasClass('menu-is-closing')) { 159 MobileMenuAction('close'); 160 } 161 } else { 162 if (!$('body').hasClass('menu-is-opening')) { 163 MobileMenuAction('open'); 164 } 165 } 166 }); 167 $(".responsive-menu-overlay").on('click', function () { 168 MobileMenuAction('close'); 169 MobileMenuReverse(); 170 }); 171 172 } 173 174 function MobileMenuAction(action) { 175 176 if (action == "resized") { 177 $('#rt-main-toggle-menu').removeClass('rt-main-toggle-menu-open'); 178 $('body').removeClass('rt-dashboard-push-left'); 179 $('.rt-mobile-menu').removeClass('menu-push-onscreen'); 180 $('body').removeClass('menu-is-onscreen'); 181 MobileMenuReverse(); 182 } else { 183 $('#rt-main-toggle-menu').toggleClass('rt-main-toggle-menu-open'); 184 $('body').toggleClass('rt-dashboard-push-left'); 185 } 186 187 if (action == 'close') { 188 $('body').addClass('menu-is-closing'); 189 $('.rt-dashboard-columns').stop(true, true).velocity('transition.slide
189UpOut', { 190 stagger: 120, 191 duration: 800, 192 complete: function () { 193 $('.rt-mobile-menu').toggleClass('menu-push-onscreen'); 194 $('body').toggleClass('menu-is-onscreen'); 195 196 MobileMenuReverse(); 197 $('body').removeClass('menu-is-closing'); 198 } 199 }); 200 201 202 } 203 204 if (action == 'open') { 205 206 $('body').addClass('menu-is-opening'); 207 $('.rt-mobile-menu').stop(true, true).velocity('fadeIn', { 208 complete: function () { 209 $('.rt-mobile-menu').toggleClass('menu-push-onscreen'); 210 $('body').toggleClass('menu-is-onscreen'); 211 212 $('.rt-dashboard-columns').stop(true, true).velocity('transition.slideUpIn', { 213 stagger: 120, 214 duration: 800, 215 complete: function () { 216 $('.rt-dashboard-columns').find('.lazyload-after').addClass('lazyload'); 217 } 218 }); 219 220 animateDisplayMenuItems(); 221 $('body').removeClass('menu-is-opening'); 222 } 223 }); 224 } 225 } 226 227 function animateDisplayMenuItems() { 228 229 $.Velocity.RegisterEffect('menuParentItems', { 230 calls: [ 231 [{ 232 opacity: [1, 0], 233 bottom: [0, -5] 234 }] 235 ] 236 }); 237 $('.rt-mobile-menu ul.rt-tree > li').css({ 238 'opacity': 0, 239 'bottom': -5 240 }).stop(true, true).velocity('menuParentItems', { 241 stagger: 100, 242 complete: function () { 243 $(this).addClass('menu-item-is-visible'); 244 } 245 }); 246 } 247 248 249 function SidebarMenuAction(action) { 250 251 $('#sidebarinfo-toggle-menu').toggleClass('sidebar-toggle-menu-open'); 252 $('body').toggleClass('rt-dashboard-push-left'); 253 254 if (action == 'close') { 255 256 $('.rt-dashboard-columns').velocity('transition.slideUpOut', { 257 stagger: 120, 258 display: "flex", 259 duration: 800 260 }); 261 262 $('.sidebarinfo-menu').velocity('fadeOut', { 263 duration: 800, 264 complete: function () { 265 $('.sidebarinfo-menu').toggleClass('sidebar-push-onscreen'); 266 $('body').toggleClass('sidebar-is-onscreen'); 267 } 268 }); 269 270 271 272 } 273 274 if (action == 'open') { 275 276 $('.sidebarinfo-menu').toggleClass('sidebar-push-onscreen'); 277 $('body').toggleClass('sidebar-is-onscreen'); 278 $('.rt-dashboard-columns').find('.lazyload-after').addClass('lazyload'); 279 280 $('.sidebarinfo-menu').velocity('fadeIn', { 281 complete: function () { 282 $('.rt-dashboard-columns').velocity('transition.fadeIn', { 283 stagger: 120, 284 display: "flex", 285 duration: 800, 286 complete: function () {} 287 }); 288 } 289 }); 290 } 291 } 292 293 294 if ($('#sidebarinfo-toggle-menu').length) { 295 $('#sidebarinfo-toggle-menu').on('click', function () { 296 if ($('body').hasClass('sidebar-is-onscreen')) { 297 SidebarMenuAction('close'); 298 } else { 299 SidebarMenuAction('open'); 300 } 301 }); 302 $('.sidebar-menu-overlay').on('click', function () { 303 SidebarMenuAction('close'); 304 }); 305 } 306 307 308 309 310 if ($.fn.hoverIntent) { 311 $('.outer-wrap').hoverIntent({ 312 over: mainMenuOn, 313 out: mainMenuOff 314 }); 315 } else { 316 $('.outer-wrap').mouseenter(function () { 317 mainMenuOn(); 318 }) 319 .mouseleave(function () { 320 mainMenuOff(); 321 }); 322 } 323 var hoverOutMenu; 324 325 function mainMenuOn() { 326 clearTimeout(hoverOutMenu); 327 $('body').addClass('main-menu-on'); 328 } 329 330 function mainMenuOff() { 331 hoverOutMenu = setTimeout(function () { 332 $('body').removeClass('main-menu-on'); 333 }, 600); 334 } 335 336 337});
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.