1 |
- app.directive("perfectScrollbar",["$parse","$window",function(e,r){var l=["wheelSpeed","wheelPropagation","minScrollbarLength","useBothWheelAxes","useKeyboard","suppressScrollX","suppressScrollY","scrollXMarginOffset","scrollYMarginOffset","includePadding"];return{restrict:"EA",transclude:!0,template:"<div><div ng-transclude></div></div>",replace:!0,link:function(o,n,c){function t(e){o.$evalAsync(function(){"true"==c.scrollDown&&"mouseenter"!=e&&setTimeout(function(){$(n).scrollTop($(n).prop("scrollHeight"))},100),n.perfectScrollbar("update")})}var i=angular.element(r),s={};if(!o.app.isMobile){for(var a=0,p=l.length;a<p;a++){var f=l[a];void 0!==c[f]&&(s[f]=e(c[f])())}o.$evalAsync(function(){n.perfectScrollbar(s);var r=e(c.onScroll);n.scroll(function(){var e=n.scrollTop(),l=n.prop("scrollHeight")-n.height();o.$apply(function(){r(o,{scrollTop:e,scrollHeight:l})})})}),n.bind("mousemove",t),c.refreshOnChange&&o.$watchCollection(c.refreshOnChange,function(){t()}),c.refreshOnResize&&i.on("resize",t),n.bind("$destroy",function(){i.off("resize",t),n.perfectScrollbar("destroy")})}}}}]);
|