1"use strict"; 2angular.module("sfmStore").service("$analytics", function($window) { 3 this.pushToDataLayer = function( 4 id, 5 name, 6 event 7 ) { 8 if ($window.dataLayer) { 9 id = id || null; 10 name = name || null; 11 event = event || null; 12 13 if (id || name) { 14 $window.dataLayer.push({ ecommerce: null }); 15 $window.dataLayer.push({ 16 'event': event, 17 'ecommerce': { 18 'items': [{ 19 'item_name': name, 20 'item_id': id 21 }] 22 } 23 }); 24 } else { 25 $window.dataLayer.push({ 26 'event': event 27 }) 28 } 29 return true; 30 } 31 } 32 33 this.pushVirtualPageview = function (url) { 34 if ($window.dataLayer) { 35 $window.dataLayer.push({ 36 'event': 'virtualPageview', 37 'pageUrl': url, 38 'pageTitle': document.title 39 }) 40 } 41 return true; 42 } 43 44 /* legacy code */ 45 this.sendEvent = function( 46 event, 47 type, 48 category, 49 action, 50 label, 51 value, 52 fieldObject 53 ) { 54 if ($window.ga) { 55 event = event || "send"; 56 type = type || "event"; 57 category = category || null; 58 action = action || null; 59 label = label || null; 60 value = value || null; 61 fieldObject = fieldObject || null; 62 63 $window.ga(event, type, category, action, label, value, fieldObject); 64 return true; 65 } 66 return; 67 }; 68 69 return; 70});
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.