/** * KO: Google Analytics data pusher. * @param {array|object} Binding value. * @config {array} GA track data. * @config {object} * {array} [track] GA track data. * {string} [eventName='click'] Event name. * @requires GA Tracker * @example * // View *
*
*/ ko.bindingHandlers.gaqPush = { init: function (element, valueAccessor, allBindingsAccessor, viewModel) { var value = valueAccessor(); var isObj = ( typeof value === 'object' && !(value instanceof Array) ); var track = isObj ? value.track : value; var eventName = isObj ? value.eventName : 'click'; var newValueAccessor = function () { var result = {}; result[eventName] = function() { //console.log(track); _gaq.push(track); } return result; } ko.bindingHandlers['event']['init'].call(this, element, newValueAccessor, allBindingsAccessor, viewModel); } }