UNPKG

angulartics-piwik

Version:
7 lines 2.07 kB
/** * @license Angulartics * (c) 2013 Luis Farzati http://luisfarzati.github.io/angulartics * Piwik 2.1.x update contributed by http://github.com/highskillz * License: MIT */ !function(a){"use strict";a.module("angulartics.piwik",["angulartics"]).config(["$analyticsProvider","$windowProvider",function(b,c){var d=c.$get();b.settings.pageTracking.trackRelativePath=!0,b.api.setCustomDimension=function(a,b){d._paq&&d._paq.push(["setCustomDimension",a,b])},b.api.deleteCustomDimension=function(a){d._paq&&d._paq.push(["deleteCustomDimension",a])},b.api.setCustomVariable=function(a,b,c,e){d._paq&&(e=e||"page",d._paq.push(["setCustomVariable",a,b,c,e]))},b.api.deleteCustomVariable=function(a,b){d._paq&&(b=b||"page",d._paq.push(["deleteCustomVariable",a,b]))},b.api.trackSiteSearch=function(b,c,e){if(d._paq&&b){var f=["trackSiteSearch",b,c||!1];a.isDefined(e)&&f.push(e),d._paq.push(f)}},b.api.trackGoal=function(a,b){d._paq&&_paq.push(["trackGoal",a,b||0])},b.api.trackLink=function(a,b){var c=b||"link";d._paq&&d._paq.push(["trackLink",a,c])},b.registerSetUsername(function(a){d._paq&&d._paq.push(["setUserId",a])}),b.registerPageTrack(function(a,b){d._paq&&(d._paq.push(["setDocumentTitle",d.document.title]),d._paq.push(["setCustomUrl",a]),d._paq.push(["trackPageView"]))}),b.registerEventTrack(function(a,b){if(d._paq)switch(b=b||{},a){case"setEcommerceView":d._paq.push(["setEcommerceView",b.productSKU,b.productName,b.categoryName,b.price]);break;case"addEcommerceItem":d._paq.push(["addEcommerceItem",b.productSKU,b.productName,b.productCategory,b.price,b.quantity]);break;case"trackEcommerceCartUpdate":d._paq.push(["trackEcommerceCartUpdate",b.grandTotal]);break;case"trackEcommerceOrder":d._paq.push(["trackEcommerceOrder",b.orderId,b.grandTotal,b.subTotal,b.tax,b.shipping,b.discount]);break;default:if(b.value){var c=parseInt(b.value,10);b.value=isNaN(c)?0:c}d._paq.push(["trackEvent",b.category,a,b.name||b.label,b.value])}}),b.registerExceptionTrack(function(a,b){d._paq&&d._paq.push(["trackEvent","Exceptions",a.toString(),a.stack,0])})}])}(angular);