google analytics ajax tracking

Signed-off-by: bachy <git@g-u-i.net>
This commit is contained in:
bachy 2012-11-09 20:20:09 +01:00
parent 948913bc82
commit 63df1c8f3a
4 changed files with 69 additions and 14 deletions

File diff suppressed because one or more lines are too long

View File

@ -149,6 +149,15 @@ MaterioFlag = function(){
}; };
function showCreateListForm(json, $link){ function showCreateListForm(json, $link){
// google analytics
var estat = jQuery.Event('record-stat');
estat.path = false;
estat.categorie = 'FlagLists';
estat.action = 'show create form';
estat.label = '';
$.event.trigger(estat);
var $modal = $('<div id="modal" class="modal"/>').appendTo('body'); var $modal = $('<div id="modal" class="modal"/>').appendTo('body');
$modal $modal
.css({ .css({
@ -164,11 +173,29 @@ MaterioFlag = function(){
case 'cancel': case 'cancel':
trace('cancel',event); trace('cancel',event);
$(this).parents('#modal').remove(); $(this).parents('#modal').remove();
// google analytics
var estat = jQuery.Event('record-stat');
estat.path = false;
estat.categorie = 'FlagLists';
estat.action = 'cancel create form';
estat.label = '';
$.event.trigger(estat);
break; break;
case 'create': case 'create':
trace('create',event); trace('create',event);
var title = $(this).parents('form').find('input[name*="flag-lists-name"]').val(); var title = $(this).parents('form').find('input[name*="flag-lists-name"]').val();
var type = $(this).parents('form').find('input[name*="type"]').val(); var type = $(this).parents('form').find('input[name*="type"]').val();
// google analytics
var estat = jQuery.Event('record-stat');
estat.path = false;
estat.categorie = 'FlagLists';
estat.action = 'submit create form';
estat.label = 'title : '+title;
$.event.trigger(estat);
createList($modal, type, title, $link); createList($modal, type, title, $link);
break; break;
} }
@ -207,7 +234,15 @@ MaterioFlag = function(){
success: function (data2) { success: function (data2) {
trace('node taged with newly created list : data2', data2) trace('node taged with newly created list : data2', data2)
if (data2.status) { if (data2.status) {
// success
// google analytics
var estat = jQuery.Event('record-stat');
estat.path = false;
estat.categorie = 'FlagLists';
estat.action = 'node flaged';
estat.label = 'nid : '+nid+' | flag : '+name;
$.event.trigger(estat);
refreshBlocks(name); refreshBlocks(name);
refreshNodeLinks(); refreshNodeLinks();
}else { }else {
@ -227,14 +262,14 @@ MaterioFlag = function(){
$('.flag-lists-entity-links').parents('.node').each(function(index) { $('.flag-lists-entity-links').parents('.node').each(function(index) {
nids.push($(this).attr('class').match(/node-([0-9]+)/)[1]); nids.push($(this).attr('class').match(/node-([0-9]+)/)[1]);
}); });
trace('nids', nids); // trace('nids', nids);
var url = Drupal.settings.basePath+Drupal.settings.pathPrefix+'materioflag/nodelinks'; var url = Drupal.settings.basePath+Drupal.settings.pathPrefix+'materioflag/nodelinks';
$.getJSON(url, {nids:nids.join(";")}, function(data) { $.getJSON(url, {nids:nids.join(";")}, function(data) {
trace('data', data); // trace('data', data);
for(nid in data.links){ for(nid in data.links){
trace('nid', nid); // trace('nid', nid);
trace('data.links[nid]', data.links[nid]); // trace('data.links[nid]', data.links[nid]);
$('.node-'+nid+' .flag-lists-entity-links').parent('.item-list').replaceWith(data.links[nid]); $('.node-'+nid+' .flag-lists-entity-links').parent('.item-list').replaceWith(data.links[nid]);
// trace('typeof Drupal.flagLink', typeof Drupal.flagLink); // trace('typeof Drupal.flagLink', typeof Drupal.flagLink);

File diff suppressed because one or more lines are too long

View File

@ -56,7 +56,6 @@ MaterioSearchApiAjax = function(){
$.event.trigger(event); $.event.trigger(event);
}, 10); }, 10);
}; };
function getSearchKeys(){ function getSearchKeys(){
return $('#materio-search-api-search-form').find('input[name*="searchfield"]').val(); return $('#materio-search-api-search-form').find('input[name*="searchfield"]').val();
@ -67,13 +66,12 @@ MaterioSearchApiAjax = function(){
if(keys !== undefined){ if(keys !== undefined){
keys = keys.replace('/', ' '); keys = keys.replace('/', ' ');
var types = {}; var types = {}, stringTypes = [];
$('#edit-bundles-filter', '#materio-search-api-search-form').find('input[type*="checkbox"]').each(function(i){ $('#edit-bundles-filter', '#materio-search-api-search-form').find('input[type*="checkbox"]').each(function(i){
$this = $(this); $this = $(this);
// if ( $this.attr('checked') ) { if ( $this.attr('checked') )
stringTypes.push($this.val());
types[$this.val()] = $this.attr('checked'); types[$this.val()] = $this.attr('checked');
// }
}); });
trace('types', types); trace('types', types);
@ -82,6 +80,15 @@ MaterioSearchApiAjax = function(){
$.event.trigger('loading-content'); $.event.trigger('loading-content');
_isloadingresults = true; _isloadingresults = true;
$('#materio-search-api-search-form').addClass('loading'); $('#materio-search-api-search-form').addClass('loading');
// google analytics
var estat = jQuery.Event('record-stat');
estat.path = false;
estat.categorie = 'Search event';
estat.action = 'Search';
estat.label = 'keys :'+ keys +' | filters : '+ stringTypes.join(' ,');
$.event.trigger(estat);
// TODO: record ajax path in a variable from materio_search_api_ajax_init // TODO: record ajax path in a variable from materio_search_api_ajax_init
$.getJSON(Drupal.settings.basePath+Drupal.settings.pathPrefix+'materio_search_api_ajax/search/'+keys, $.getJSON(Drupal.settings.basePath+Drupal.settings.pathPrefix+'materio_search_api_ajax/search/'+keys,
{'types':types}, {'types':types},
@ -230,7 +237,20 @@ MaterioSearchApiAjax = function(){
$.getJSON(Drupal.settings.basePath+'materio_search_api_ajax/viewmode/change/'+vm, function(json){ $.getJSON(Drupal.settings.basePath+'materio_search_api_ajax/viewmode/change/'+vm, function(json){
trace('viewmode json', json); trace('viewmode json', json);
if (json.statut == "saved"){ if (json.statut == "saved"){
// loadResults(getSearchKeys());
// google analytics
var estat = jQuery.Event('record-stat');
estat.path = false;
estat.categorie = 'Viewmode';
estat.action = vm;
if(isExplore())
estat.label = 'Search results';
if(isActuality())
estat.label = 'Actualities';
$.event.trigger(estat);
$.event.trigger('view-mode-changed'); $.event.trigger('view-mode-changed');
$('.viewmode-link, .viewmode-link i').removeClass('active'); $('.viewmode-link, .viewmode-link i').removeClass('active');
$btn.addClass('active').find('i').addClass('active'); $btn.addClass('active').find('i').addClass('active');