1 |
- "use strict";app.directive("sidebar",["$document","$rootScope",function(e,t){return{replace:!1,restrict:"C",link:function(n,o,i){var s=!0;"false"!=i.closeOnOuterClicks&&"0"!=i.closeOnOuterClicks||(s=!1);var r=function(e,t){for(var n=e;n.length>0;){if(n[0]===t[0])return n=null,!0;n=n.parent()}return n=null,!1},a=function(e){if(!r(angular.element(e.target),o))return t.toggle(i.id,"off"),e.preventDefault(),!1},c=angular.noop();s&&(c=t.$on("clip-two.toggled",function(t,n,o){n==i.id&&(o?setTimeout(function(){e.on("click tap",a)},300):e.off("click tap",a))})),n.$on("$destroy",function(){c(),e.off("click tap",a)})}}}]).directive("searchForm",function(){return{restrict:"AC",link:function(e,t,n){var o=$(".app-aside"),i=t.children("form");t.parent();$(".s-open").on("click",function(e){i.prependTo(o),e.preventDefault(),$(document).on("mousedown touchstart",s)}),$(".s-remove").on("click",function(e){i.appendTo(t),e.preventDefault()});var s=function(e){i.is(e.target)||0!==i.has(e.target).length||($(".s-remove").trigger("click"),$(document).off("mousedown touchstart",s))}}}}).directive("appAside",["$window","$rootScope","$timeout","APP_MEDIAQUERY",function(e,t,n,o){function i(){f.trigger("mouseleave")}function s(){return l.hasClass("touch")}function r(){return p.width()<o.desktop}function a(){return $(".app-sidebar-closed").length}function c(){return $(".app-sidebar-fixed").length}var u,l=$("html"),p=$(e),f=$(".app-aside");return{restrict:"AC",link:function(e,n,o,l){var d,h=s()?"click":"mouseenter",m="";n.on("click","a",function(e){u=$(this),(!a()||r()||u.closest("ul").hasClass("sub-menu"))&&(u.closest("ul").find(".open").not(".active").children("ul").not(u.next()).slideUp(200).parent(".open").removeClass("open"),u.next().is("ul")&&u.parent().toggleClass("open")?(u.next().slideToggle(200,function(){p.trigger("resize")}),e.stopPropagation(),e.preventDefault()):t.toggle("sidebar","off"))}),n.on(h,"a",function(e){if(a()&&!r()&&(u=$(this),!u.parent().hasClass("hover")&&!u.closest("ul").hasClass("sub-menu"))){i(),u.parent().addClass("hover"),d=u.find(".item-inner").clone(),u.parent().hasClass("active")&&d.addClass("active");var t=$("#sidebar").position().top,n=c()?u.parent().position().top+t:u.parent().position().top;if(d.css({position:c()?"fixed":"absolute",height:u.outerHeight(),top:n}).appendTo(f),!u.next().is("ul"))return void(m="");m=u.next().clone(!0),m.appendTo(f).css({top:d.position().top+u.outerHeight(),position:c()?"fixed":"absolute"}),u.parent().position().top+u.outerHeight()+t+m.height()>p.height()&&c()?m.css("bottom",0):m.css("bottom","auto"),f.children().first().scroll(function(){c()&&i()}),setTimeout(function(){f.is(":empty")||$(document).on("click tap",i)},300)}}),f.on("mouseleave",function(e){$(document).off("click tap",i),$(".hover",f).removeClass("hover"),$("> .item-inner",f).remove(),$("> ul",f).remove()}),t.$on("$locationChangeSuccess",function(){var e;e=window.location.hash,angular.forEach(n.find(".main-navigation-menu a"),function(t){var n,o=angular.element(t);if(t.hash===e&&(!a()||r()))if(o.closest("ul").hasClass("sub-menu")){n=o.closest("ul");var i=n;n.slideDown(200).parent().siblings().children(".sub-menu").slideUp(200,function(){$(this).parent().removeClass("open")})}else $(".sub-menu").slideUp(200,function(){$(this).parent().removeClass("open")});i=null,n=null})})}}}]);
|