/**
* @license Angulartics v0.15.19 * (c) 2013 Luis Farzati http://luisfarzati.github.io/angulartics * License: MIT */
(function (angular) { 'use strict';
/**
* @ngdoc overview * @name angulartics.scroll * Provides an implementation of jQuery Waypoints (http://imakewebthings.com/jquery-waypoints/) * for use as a valid DOM event in analytics-on. */
angular.module('angulartics.scroll', ['angulartics']) .directive('analyticsOn', ['$analytics', function ($analytics) {
function isProperty(name) { return name.substr(0, 8) === 'scrollby'; } function cast(value) { if (['', 'true', 'false'].indexOf(value) > -1) { return value.replace('', 'true') === 'true'; } return value; } return { restrict: 'A', priority: 5, scope: false, link: function ($scope, $element, $attrs) { if ($attrs.analyticsOn !== 'scrollby') return; var properties = { continuous: false, triggerOnce: true }; angular.forEach($attrs.$attr, function(attr, name) { if (isProperty(attr)) { properties[name.slice(8,9).toLowerCase()+name.slice(9)] = cast($attrs[name]); } }); $element.waypoint(function () { $element.triggerHandler('scrollby'); }, properties); } };
}]); })(angular);