Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Move all plugins to use _gas prefix. I still left the old syntax on t…
…o be deprecated on v.20
  • Loading branch information
eduardocereto committed Mar 28, 2012
1 parent 2e8fa6c commit 8392c38
Show file tree
Hide file tree
Showing 9 changed files with 83 additions and 50 deletions.
56 changes: 29 additions & 27 deletions src/plugins/download.js
Expand Up @@ -41,33 +41,11 @@ function _checkFile(src, extensions) {
* @param {Array|object} opts List of possible extensions for download
* links.
*/
function _trackDownloads(opts) {
var _trackDownloads = function(opts) {
var gh = this;
gh._liveEvent('a', 'mousedown', function(e) {
var el = this;
if (el.href) {
var ext = _checkFile.call(gh,
el.href, opts['extensions']
);
if (ext) {
_gas.push(['_trackEvent',
opts['category'], ext, el.href
]);
}
}
});
}

/**
* GAA Hook, receive the extensions to extend default extensions. And trigger
* the binding of the events.
*
* @param {string|Array|object} opts GAs Options. Also backward compatible
* with array or string of extensions.
*/
_gas.push(['_addHook', '_trackDownloads', function(opts) {
if (!this._downloadTracked) {
this._downloadTracked = true;
if (!gh._downloadTracked) {
gh._downloadTracked = true;
}else {
//Oops double tracking detected.
return;
Expand All @@ -88,7 +66,31 @@ _gas.push(['_addHook', '_trackDownloads', function(opts) {
ext = ext.split(',');
opts['extensions'] = opts['extensions'].concat(ext);

_trackDownloads.call(this, opts);
gh._liveEvent('a', 'mousedown', function(e) {
var el = this;
if (el.href) {
var ext = _checkFile.call(gh,
el.href, opts['extensions']
);
if (ext) {
_gas.push(['_trackEvent',
opts['category'], ext, el.href
]);
}
}
});
return false;
}]);
};

/**
* GAA Hook, receive the extensions to extend default extensions. And trigger
* the binding of the events.
*
* @param {string|Array|object} opts GAs Options. Also backward compatible
* with array or string of extensions.
*/
_gas.push(['_addHook', '_gasTrackDownloads', _trackDownloads]);

// Old API to be deprecated on v2.0
_gas.push(['_addHook', '_trackDownloads', _trackDownloads]);

8 changes: 5 additions & 3 deletions src/plugins/form_tracking.js
Expand Up @@ -26,7 +26,7 @@ function getFormName(el) {
return 'none';
}

_gas.push(['_addHook', '_trackForms', function(opts) {
var _gasTrackForms = function(opts) {
if (!this._formTracked) {
this._formTracked = true;
}else {
Expand Down Expand Up @@ -70,7 +70,9 @@ _gas.push(['_addHook', '_trackForms', function(opts) {
}
}
});
};

_gas.push(['_addHook', '_gasTrackForms', _gasTrackForms]);

}]);

// Old API to be deprecated on v2.0
_gas.push(['_addHook', '_trackForms', _gasTrackForms]);
16 changes: 10 additions & 6 deletions src/plugins/html5_media.js
Expand Up @@ -27,33 +27,37 @@ function _trackMediaElement(e) {
* @param {String} tag Either 'audio' or 'video'.
* @this {GasHelper} GA Helper object.
*/
function _trackMedia(tag) {
var _trackMedia = function(tag) {
var self = this;
self._liveEvent(tag, 'play', _trackMediaElement);
self._liveEvent(tag, 'pause', _trackMediaElement);
self._liveEvent(tag, 'ended', _trackMediaElement);
}
};

function _trackVideo() {
var _trackVideo = function() {
if (!this._videoTracked) {
this._videoTracked = true;
}else {
//Oops double tracking detected.
return;
}
_trackMedia.call(this, 'video');
}
};

function _trackAudio() {
var _trackAudio = function() {
if (!this._audioTracked) {
this._audioTracked = true;
}else {
//Oops double tracking detected.
return;
}
_trackMedia.call(this, 'audio');
}
};

_gas.push(['_addHook', '_gasTrackVideo', _trackVideo]);
_gas.push(['_addHook', '_gasTrackAudio', _trackAudio]);

// Old API to be deprecated on v2.0
_gas.push(['_addHook', '_trackVideo', _trackVideo]);
_gas.push(['_addHook', '_trackAudio', _trackAudio]);

8 changes: 6 additions & 2 deletions src/plugins/mailto.js
Expand Up @@ -12,7 +12,7 @@
*
* @param {object} opts GAS Options.
*/
_gas.push(['_addHook', '_trackMailto', function(opts) {
var _gasTrackMailto = function(opts) {
if (!this._mailtoTracked) {
this._mailtoTracked = true;
}else {
Expand All @@ -32,5 +32,9 @@ _gas.push(['_addHook', '_trackMailto', function(opts) {
}
});
return false;
}]);
};
_gas.push(['_addHook', '_gasTrackMailto', _gasTrackMailto]);

// Old API to be deprecated on v2.0
_gas.push(['_addHook', '_trackMailto', _gasTrackMailto]);

3 changes: 3 additions & 0 deletions src/plugins/max_scroll.js
Expand Up @@ -109,5 +109,8 @@ function _trackMaxScroll(opts) {
this._addEventListener(window, 'beforeunload', _sendMaxScroll);
}

_gas.push(['_addHook', '_gasTrackMaxScroll', _trackMaxScroll]);

// Old API to be deprecated on v2.0
_gas.push(['_addHook', '_trackMaxScroll', _trackMaxScroll]);

15 changes: 10 additions & 5 deletions src/plugins/multidomain.js
Expand Up @@ -153,14 +153,19 @@ function track_links(event_used) {
return false;
}

/**
* Registers Hook to _setMultiDomain
*/
_gas.push(['_addHook', '_setMultiDomain', function() {
var _gasMultiDomain = function() {
var gh = this;
var args = slice.call(arguments);
gh._DOMReady(function() {
track_links.apply(gh, args);
});
}]);
};

/**
* Registers Hook to _setMultiDomain
*/
_gas.push(['_addHook', '_gasMultiDomain', _gasMultiDomain]);

// Old API to be deprecated on v2.0
_gas.push(['_addHook', '_setMultiDomain', _gasMultiDomain]);

9 changes: 6 additions & 3 deletions src/plugins/outbound.js
Expand Up @@ -15,7 +15,7 @@
* @this {object} GA Helper object.
* @param {object} opts Custom options for Outbound Links.
*/
function _trackOutboundLinks(opts) {
var _gasTrackOutboundLinks = function(opts) {
if (!this._outboundTracked) {
this._outboundTracked = true;
}else {
Expand Down Expand Up @@ -47,8 +47,11 @@ function _trackOutboundLinks(opts) {
}

});
}
};

_gas.push(['_addHook', '_trackOutboundLinks', _trackOutboundLinks]);
_gas.push(['_addHook', '_gasTrackOutboundLinks', _gasTrackOutboundLinks]);

// Old API to be deprecated on v2.0
_gas.push(['_addHook', '_trackOutboundLinks', _gasTrackOutboundLinks]);


9 changes: 7 additions & 2 deletions src/plugins/vimeo.js
Expand Up @@ -158,7 +158,7 @@ function _trackVimeo() {
}
}

_gas.push(['_addHook', '_trackVimeo', function(opts) {
var _gasTrackVimeo = function(opts) {
var gh = this;
// Support
if (typeof opts === 'boolean' || opts === 'force') {
Expand All @@ -173,5 +173,10 @@ _gas.push(['_addHook', '_trackVimeo', function(opts) {
_trackVimeo.call(gh);
});
return false;
}]);
};

_gas.push(['_addHook', '_gasTrackVimeo', _gasTrackVimeo]);

// Old API to be deprecated on v2.0
_gas.push(['_addHook', '_trackVimeo', _gasTrackVimeo]);

9 changes: 7 additions & 2 deletions src/plugins/youtube.js
Expand Up @@ -205,7 +205,7 @@ function _trackYoutube(opts) {
}
}

_gas.push(['_addHook', '_trackYoutube', function(opts) {
var _gasTrackYoutube = function(opts) {
// Support for legacy parameters
var args = slice.call(arguments);
if (args[0] && (typeof args[0] === 'boolean' || args[0] === 'force')) {
Expand All @@ -227,5 +227,10 @@ _gas.push(['_addHook', '_trackYoutube', function(opts) {
_trackYoutube.call(gh, opts);
});
return false;
}]);
};

_gas.push(['_addHook', '_gasTrackYoutube', _gasTrackYoutube]);

// Old API to be deprecated on v2.0
_gas.push(['_addHook', '_trackYoutube', _gasTrackYoutube]);

0 comments on commit 8392c38

Please sign in to comment.