@@ -28,6 +28,8 @@ |
||
28 | 28 |
<script src="../bower_components/angular-ui-router/release/angular-ui-router.js"></script> |
29 | 29 |
<script src="../bower_components/angular-youtube-mb/src/angular-youtube-embed.js"></script> |
30 | 30 |
<script src="../bower_components/createjs-preloadjs/lib/preloadjs-0.6.1.combined.js"></script> |
31 |
+ <script src="../bower_components/mixpanel/mixpanel-jslib-snippet.min.js"></script> |
|
32 |
+ <script src="../bower_components/angular-mixpanel/src/angular-mixpanel.js"></script> |
|
31 | 33 |
<!-- endbower --> |
32 | 34 |
<!-- endbuild --> |
33 | 35 |
<script src="https://www.youtube.com/iframe_api"></script> |
@@ -26,7 +26,8 @@ angular |
||
26 | 26 |
'goApp.video', |
27 | 27 |
'goApp.slider', |
28 | 28 |
'goApp.contact', |
29 |
- 'mandrill' |
|
29 |
+ 'mandrill', |
|
30 |
+ 'analytics.mixpanel' |
|
30 | 31 |
]) |
31 | 32 |
|
32 | 33 |
.config(['$stateProvider', '$urlRouterProvider', '$httpProvider', function($stateProvider, $urlRouterProvider, $httpProvider) { |
@@ -8,11 +8,12 @@ |
||
8 | 8 |
* Controller of the domainManagerApp |
9 | 9 |
*/ |
10 | 10 |
angular.module('goApp.contact', ['ngFx', 'ngAnimate', 'goApp.data', 'mandrill']) |
11 |
- .controller('ContactController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', 'Mandrill', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data, Mandrill) { |
|
11 |
+ .controller('ContactController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', 'Mandrill', '$mixpanel', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data, Mandrill, $mixpanel) { |
|
12 | 12 |
|
13 | 13 |
'use strict'; |
14 | 14 |
|
15 | 15 |
console.log('> Loading Contact Page'); |
16 |
+ $mixpanel.track('Page View', { "Page": "Contact" }); |
|
16 | 17 |
|
17 | 18 |
// Get Page Data |
18 | 19 |
var link = $location.url(); |
@@ -29,6 +30,7 @@ angular.module('goApp.contact', ['ngFx', 'ngAnimate', 'goApp.data', 'mandrill']) |
||
29 | 30 |
$scope.sendMessage = function(msgData){ |
30 | 31 |
console.log("> Sending message from " + msgData.name) |
31 | 32 |
Mandrill.sendMail(msgData); |
33 |
+ $mixpanel.track('Messsage Sent', { "Name": msgData.name, "email": msgData.email }); |
|
32 | 34 |
} |
33 | 35 |
|
34 | 36 |
// FadeIn |
@@ -45,8 +47,4 @@ angular.module('goApp.contact', ['ngFx', 'ngAnimate', 'goApp.data', 'mandrill']) |
||
45 | 47 |
}; |
46 | 48 |
|
47 | 49 |
|
48 |
- |
|
49 |
- |
|
50 |
- |
|
51 |
- |
|
52 | 50 |
}]); |
@@ -8,8 +8,9 @@ |
||
8 | 8 |
* Controller of the domainManagerApp |
9 | 9 |
*/ |
10 | 10 |
angular.module('goApp.index', ['famous.angular', 'ngFx', 'ngAnimate']) |
11 |
- .controller('IndexController',['$scope', '$rootScope', '$famous', '$timeline', function ($scope, $rootScope, $famous, $timeline) { |
|
11 |
+ .controller('IndexController',['$scope', '$rootScope', '$famous', '$timeline', '$mixpanel', function ($scope, $rootScope, $famous, $timeline, $mixpanel) { |
|
12 | 12 |
|
13 | 13 |
'use strict'; |
14 |
+ $mixpanel.track('Page View', { "Page": "index" }); |
|
14 | 15 |
|
15 | 16 |
}]); |
@@ -8,7 +8,7 @@ |
||
8 | 8 |
* Controller of the domainManagerApp |
9 | 9 |
*/ |
10 | 10 |
angular.module('goApp.navigation', ['famous.angular', 'ngRoute', 'ngFx', 'ngAnimate', 'goApp.data']) |
11 |
- .controller('NavigationController',['$scope', '$rootScope', '$famous', '$timeline', '$http', '$location', '$route', '$timeout', 'Data', function ($scope, $rootScope, $famous, $timeline, $http, $location, $route, $timeout, Data) { |
|
11 |
+ .controller('NavigationController',['$scope', '$rootScope', '$famous', '$timeline', '$http', '$location', '$route', '$timeout', 'Data', '$mixpanel', function ($scope, $rootScope, $famous, $timeline, $http, $location, $route, $timeout, Data, $mixpanel) { |
|
12 | 12 |
|
13 | 13 |
'use strict'; |
14 | 14 |
|
@@ -16,9 +16,11 @@ angular.module('goApp.navigation', ['famous.angular', 'ngRoute', 'ngFx', 'ngAnim |
||
16 | 16 |
if(!$scope.$$phase) { |
17 | 17 |
$scope.$apply(function(){ |
18 | 18 |
$scope.navigation = Data.getNavigation(); |
19 |
+ $scope.track(); |
|
19 | 20 |
}); |
20 | 21 |
} else { |
21 | 22 |
$scope.navigation = Data.getNavigation(); |
23 |
+ $scope.track(); |
|
22 | 24 |
} |
23 | 25 |
}); |
24 | 26 |
|
@@ -76,4 +78,8 @@ angular.module('goApp.navigation', ['famous.angular', 'ngRoute', 'ngFx', 'ngAnim |
||
76 | 78 |
} |
77 | 79 |
}; |
78 | 80 |
|
81 |
+ $scope.track = function(){ |
|
82 |
+ $mixpanel.track('Index View'); |
|
83 |
+ } |
|
84 |
+ |
|
79 | 85 |
}]); |
@@ -8,12 +8,13 @@ |
||
8 | 8 |
* Controller of the domainManagerApp |
9 | 9 |
*/ |
10 | 10 |
angular.module('goApp.page', ['ngFx', 'ngAnimate', 'goApp.data']) |
11 |
- .controller('PageController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data) { |
|
11 |
+ .controller('PageController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', '$mixpanel', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data, $mixpanel) { |
|
12 | 12 |
|
13 | 13 |
'use strict'; |
14 | 14 |
|
15 | 15 |
console.log('> Loading Text Page'); |
16 | 16 |
|
17 |
+ |
|
17 | 18 |
// Get Page Data |
18 | 19 |
var link = $location.url(); |
19 | 20 |
$scope.pageData = Data.getPageData(link); |
@@ -22,6 +23,7 @@ angular.module('goApp.page', ['ngFx', 'ngAnimate', 'goApp.data']) |
||
22 | 23 |
$scope.$apply(function(){ |
23 | 24 |
$scope.pageData = Data.getPageData(link); |
24 | 25 |
$scope.showSlider(); |
26 |
+ $mixpanel.track('Page View', { "Page": $scope.pageData.link }); |
|
25 | 27 |
}); |
26 | 28 |
} |
27 | 29 |
}); |
@@ -8,7 +8,7 @@ |
||
8 | 8 |
* Controller of the domainManagerApp |
9 | 9 |
*/ |
10 | 10 |
angular.module('goApp.slideshow', ['ngFx', 'ngAnimate', 'goApp.data']) |
11 |
- .controller('SlideshowController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data) { |
|
11 |
+ .controller('SlideshowController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', '$mixpanel', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data, $mixpanel) { |
|
12 | 12 |
|
13 | 13 |
'use strict'; |
14 | 14 |
|
@@ -22,6 +22,7 @@ angular.module('goApp.slideshow', ['ngFx', 'ngAnimate', 'goApp.data']) |
||
22 | 22 |
$scope.$apply(function(){ |
23 | 23 |
$scope.pageData = Data.getPageData(link); |
24 | 24 |
$scope.showSlider(); |
25 |
+ $mixpanel.track('Page View', { "Page": $scope.pageData.link }); |
|
25 | 26 |
}); |
26 | 27 |
} |
27 | 28 |
}); |
@@ -8,7 +8,7 @@ |
||
8 | 8 |
* Controller of the domainManagerApp |
9 | 9 |
*/ |
10 | 10 |
angular.module('goApp.test', ['ngFx', 'ngAnimate', 'goApp.data']) |
11 |
- .controller('TestController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data) { |
|
11 |
+ .controller('TestController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', '$mixpanel', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data, $mixpanel) { |
|
12 | 12 |
|
13 | 13 |
'use strict'; |
14 | 14 |
|
@@ -18,6 +18,7 @@ angular.module('goApp.test', ['ngFx', 'ngAnimate', 'goApp.data']) |
||
18 | 18 |
if(!$scope.$$phase) { |
19 | 19 |
$scope.$apply(function(){ |
20 | 20 |
$scope.pageData = Data.getPageData(link); |
21 |
+ $mixpanel.track('Page View', { "Page": $scope.pageData.link }); |
|
21 | 22 |
}); |
22 | 23 |
} |
23 | 24 |
}); |
@@ -8,7 +8,7 @@ |
||
8 | 8 |
* Controller of the domainManagerApp |
9 | 9 |
*/ |
10 | 10 |
angular.module('goApp.video', ['ngFx', 'ngAnimate', 'goApp.data']) |
11 |
- .controller('VideoController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data) { |
|
11 |
+ .controller('VideoController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', '$mixpanel', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data, $mixpanel) { |
|
12 | 12 |
|
13 | 13 |
'use strict'; |
14 | 14 |
|
@@ -72,6 +72,7 @@ angular.module('goApp.video', ['ngFx', 'ngAnimate', 'goApp.data']) |
||
72 | 72 |
$scope.startFileVideo(); |
73 | 73 |
} |
74 | 74 |
} |
75 |
+ $mixpanel.track('Page View', { "Page": $scope.pageData.link }); |
|
75 | 76 |
} |
76 | 77 |
|
77 | 78 |
$scope.startFileVideo = function() { |
@@ -0,0 +1,5 @@ |
||
1 |
+ |
|
2 |
+angular.module('analytics.mixpanel') |
|
3 |
+ .config(['$mixpanelProvider', function($mixpanelProvider) { |
|
4 |
+ $mixpanelProvider.apiKey('e85c78f33e523545390227e2590582d5'); |
|
5 |
+ }]); |
@@ -33,7 +33,8 @@ |
||
33 | 33 |
"angular-ui": "~0.4.0", |
34 | 34 |
"angular-ui-router": "~0.2.15", |
35 | 35 |
"angular-youtube-mb": "~1.0.2", |
36 |
- "createjs-preloadjs": "~0.6.1" |
|
36 |
+ "createjs-preloadjs": "~0.6.1", |
|
37 |
+ "angular-mixpanel": "~1.1.0" |
|
37 | 38 |
}, |
38 | 39 |
"resolutions": { |
39 | 40 |
"angular": "1.3.8" |