@@ -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" |