1;(function($) { 2 3 function trackEvent(category, action, payload) { 4 if (typeof window['gtag'] != 'undefined') { 5 gtag('event', action, { 6 category: category, 7 payload: payload 8 }); 9 } else { 10 if (typeof payload != 'undefined') { 11 console.warn('Tracking: [%s, %s, %s]', category, action, payload); 12 } else { 13 console.warn('Tracking: [%s, %s]', category, action); 14 } 15 } 16 } 17 18 $(document).on('click', '[data-tracking-category][data-tracking-action]:not(select)', function() { 19 trackEvent( 20 $(this).attr('data-tracking-category'), 21 $(this).attr('data-tracking-action'), 22 $(this).attr('data-tracking-payload') 23 ); 24 }); 25 26 $(document).on('change', 'select[data-tracking-category][data-tracking-action]', function() { 27 var payload = null; 28 if ($(this).attr('data-tracking-payload-property')) { 29 payload = {}; 30 payload[$(this).attr('data-tracking-payload-property')] = $(this).val(); 31 } 32 33 trackEvent( 34 $(this).attr('data-tracking-category'), 35 $(this).attr('data-tracking-action'), 36 JSON.stringify(payload) 37 ); 38 }); 39 40 $(document).on('trackevent', function(event, values) { 41 trackEvent( 42 values.category, 43 values.action, 44 values.label 45 ); 46 }); 47 48})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.