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