Skip to content

Commit

Permalink
FIX: Data field should now work in all cases
Browse files Browse the repository at this point in the history
  • Loading branch information
Mellisa Hankins committed Jun 24, 2015
1 parent 15f88db commit af3d5c2
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 14 deletions.
37 changes: 23 additions & 14 deletions javascript/analyticsdatafield.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
var EA = window.EA || {};

EA.dataField = (function(dataField, $) {
var $inputs = [],
pageTime = +new Date();
var pageTime = +new Date();

if(!dataField.hasOwnProperty('parseSelector'))
dataField.parseSelector = '.analyticsdata-parser';

dataField.render = function(name) {
dataField.render = function(name, $inputs) {
var $fields = $(dataField.parseSelector).not('.analyticsdata-parser_processed_' + name);

if($fields.length) {
$fields.each(function() {
var $this = $(this),
id = this.id,
Expand All @@ -24,27 +22,29 @@ EA.dataField = (function(dataField, $) {
$this.removeClass('analyticsdata-parser_processing_' + name)
.addClass('analyticsdata-parser_processed_' + name);

if($inputs.length) {
if($inputs && $inputs.length) {
for(var i=0;i<$inputs.length;i++) {
$this.append(dataField.createTrackerInput(id, field, $inputs[i][0], $inputs[i][1]));
$this.append(dataField.createTrackerInput(id, field, $inputs[i].name, $inputs[i].value));
}

$this.addClass('analyticsdata-parser_processed_' + name);
}

$done.push(name);
$this.data('ea:done', $done);

return true;
});
}

$inputs = [];
};

dataField.outputGaTracker = function(id, tracker) {
dataField.renderGaTracker = function(id, tracker) {
if(!tracker) return;

var types = dataField.GA_types || {},
trackerName = tracker.get('name');
trackerName = tracker.get('name'),
$inputs = [];

types = $.extend({}, {
'referrer': 'referrer',
Expand Down Expand Up @@ -78,11 +78,15 @@ EA.dataField = (function(dataField, $) {
}, types);

for(var type in types) {
if(types.hasOwnProperty(type) && tracker.get(type))
$inputs.push([[id + '][' + trackerName, types[type]], tracker.get(type)]);
if(types.hasOwnProperty(type) && tracker.get(type)) {
$inputs.push({
name: [id, trackerName, types[type]],
value: tracker.get(type)
});
}
}

dataField.render(trackerName);
dataField.render(trackerName, $inputs);
};

dataField.createTrackerInput = function(id, field, name, val) {
Expand All @@ -101,7 +105,7 @@ EA.dataField = (function(dataField, $) {
return;

for (var i = 0; i < trackers.length; ++i) {
dataField.outputGaTracker(trackerName, trackers[i]);
dataField.renderGaTracker(trackerName, trackers[i]);
}
};

Expand All @@ -112,7 +116,12 @@ EA.dataField = (function(dataField, $) {
}
}

$inputs.push([['pageSession'], pageTime]);
dataField.render('_core', [
{
name: ['pageSession'],
value: pageTime
}
]);
};

dataField.render_all();
Expand Down
2 changes: 2 additions & 0 deletions javascript/social-tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ EA.social = (function (social, mwm) {
mwm.utilities.attachToEvent(window, "mwm::loaded:js", social.init);

mwm.utilities.attachToEvent(window, "ea::social-event", function(e, data) {
if(!window.EA || !EA.hasOwnProperty('event')) return;

if(!data)
data = e.detail[0];

Expand Down

0 comments on commit af3d5c2

Please sign in to comment.