1if (typeof window.top.dataLayer === 'undefined') { 2 window.top.dataLayer = []; 3} 4 5function trackOrderPanel(tabName, stepName) { 6 switch (tabName) { 7 case 'S': 8 tabName = 'Sell'; 9 break; 10 case 'B': 11 tabName = 'Buy'; 12 break; 13 } 14 pushEvent('Order Panel', tabName, stepName, 'order_panel'); 15} 16 17function trackCellClicks(orderType, currency, securityId) { 18 pushEvent('Order Board', orderType, currency + '|' + securityId, 'order_board'); 19} 20 21function trackPlacedOrder(orderStatusCode) { 22 pushVirtualPageView('/secure/placeOrder/' + orderStatusCode); 23} 24 25function trackPlacedOrderSource(rejected, setFrom) { 26 if (rejected) { 27 pushEvent('Orders', 'Rejected source', setFrom, 'rejected_order'); 28 } else { 29 pushEvent('Orders', 'Placed source', setFrom, 'placed_order'); 30 } 31} 32 33function trackOrdersFilter(selectedValue) { 34 pushEvent('Orders', 'Selected date', selectedValue, 'order_history'); 35} 36 37function trackHelpSearch(term, results) { 38 // Track an event for help search: Category 'Help', action 'Help search' and then the term as the label 39 // Number of results is the value 40 pushEvent('Help', 'Help search', term, 'help_search', results); 41} 42 43function trackChartFaq(faqId, open) { 44 pushEvent('chart', 'faq', faqId, 'chart_faq', open ? 'open' : 'close'); 45} 46 47function trackChartLink(href) { 48 pushEvent('chart', 'link', href, 'chart_link'); 49} 50 51function trackChartControl(value) { 52 pushEvent('chart', 'control', value, 'chart_control'); 53} 54 55function trackDepositChangeSubmit(field, from, to) { 56 pushEvent('deposit', field, 'change', 'deposit_field_change', from + ' to ' + to); 57} 58 59function pushVirtualPageView(path) { 60 window.top.dataLayer.push({ 61 'event': 'virtualPageView', 62 'pageTitle': path 63 }); 64} 65 66function pushEvent(category, action, label, name, value) { 67 var eventDetails = { 68 'event': 'event', 69 'eventCategory': category, 70 'eventAction': action, 71 'eventLabel': label, 72 'eventName': name, 73 }; 74 if (value) { 75 eventDetails.eventValue = value; 76 } 77 window.top.dataLayer.push(eventDetails); 78}
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.