1var dressOrders = function(root) { 2 var orders = root.querySelector('#orders'); 3 if (orders) { 4 [].forEach.call(orders.querySelectorAll('tr.order'), function(order) { 5 order.addEventListener('click', function(event) { 6 var unfold = !order.classList.contains('detailed'); 7 var popup = orders.dataset.popup !== undefined && orders.dataset.popup == 'true'; 8 [].forEach.call(orders.querySelectorAll('tr.detailed'), function(detailed) { 9 detailed.classList.remove('detailed'); 10 }); 11 [].forEach.call(orders.querySelectorAll('tr.details'), function(details) { 12 details.parentNode.removeChild(details); 13 }); 14 if (unfold || popup) { 15 invokeZord({ 16 module: 'Account', 17 action: 'order', 18 code: order.dataset.code, 19 success: function(result) { 20 if (popup) { 21 $.fancybox.open({ 22 src: '<div><div id="current" class="payment"><div style="min-width:800px;">' + result + '</div></div></div>', 23 type : 'inline', 24 autoFocus: false, 25 touch : false, 26 afterShow: function() { 27 $("div.card.address *.data").prop("disabled", true); 28 $("#comments").prop("disabled", true); 29 } 30 }); 31 } else { 32 order.classList.add('detailed'); 33 row = root.createElement('tr'); 34 row.classList.add('details'); 35 cell = root.createElement('td'); 36 cell.setAttribute('colspan', order.childElementCount); 37 cell.innerHTML = result; 38 row.appendChild(cell); 39 order.parentNode.insertBefore(row, order.nextElementSibling); 40 dressCurrency(row); 41 $("div.card.address *.data").prop("disabled", true); 42 $("#comments").prop("disabled", true); 43 } 44 } 45 }); 46 } 47 }); 48 }); 49 } 50} 51 52var dressCustomer = function(root) { 53 54 var getPanel = function() { 55 return getSessionProperty('customer.panel', 'identity'); 56 } 57 58 var setPanel = function(panel) { 59 setSessionProperty('customer.panel', panel); 60 } 61 62 var isPanel = function(panel) { 63 return panel == getPanel(); 64 } 65 66 var display = function() { 67 [].forEach.call(root.querySelectorAll('td.tab, div.panel'), function(element) { 68 element.classList.remove('current'); 69 if (isPanel(element.dataset.panel)) { 70 element.classList.add('current'); 71 if (element.classList.contains('panel') && element.querySelectorAll('div.slide').length > 0) { 72 slidePosition(element); 73 } 74 } 75 }); 76 }; 77 78 var displayAddress = function(addresses) { 79 var select = root.querySelector('#aliases select'); 80 [].forEach.call(addresses.querySelectorAll('div.entry.address'), function(address) { 81 address.style.display = 'none'; 82 }); 83 var address = document.getElementById('address[' + select.value + ']'); 84 if (address) { 85 address.style.display = 'block'; 86 } 87 } 88 89 var panels = root.querySelector('#panels'); 90 if (panels) { 91 var panel = panels.dataset.panel; 92 if (panels.querySelector('div.panel[data-panel="' + panel + '"]')) { 93 setPanel(panel); 94 } 95 } 96 var tabs = root.querySelector('#tabs'); 97 if (tabs) { 98 [].forEach.call(tabs.querySelectorAll('td.tab'), function(tab) { 99 tab.addEventListener('click', function(event) { 100 setPanel(tab.dataset.panel); 101 display(); 102 }); 103 }); 104 } 105 106 display(); 107 dressOrders(root); 108 109 var addresses = root.querySelector('#addresses'); 110 if (addresses) { 111 [].forEach.call(root.querySelectorAll('div.card.address'), function (address) { 112 bindAddress(address); 113 }); 114 displayAddress(addresses); 115 $('#addresses select.data').selectmenu(); 116 $('#aliases select').selectmenu({ 117 change: function() { 118 displayAddress(addresses); 119 } 120 }); 121 root.addEventListener('address', function(event) { 122 var button = event.detail; 123 switch (button.dataset.action) { 124 case 'delete': { 125 var deleted = document.getElementById('address[' + button.dataset.alias + ']'); 126 var selected = root.querySelector('#aliases select option[value="' + button.dataset.alias + '"]'); 127 deleted.parentNode.removeChild(deleted); 128 selected.parentNode.removeChild(selected); 129 root.querySelector('#aliases select').value = '_create_'; 130 $('#aliases select').selectmenu('refresh'); 131 displayAddress(addresses); 132 break; 133 } 134 case 'create': { 135 var template = document.getElementById('address[_create_]'); 136 var alias = template.querySelector('.data[data-type="alias"]').value 137 var created = template.cloneNode(true); 138 created.id = 'address[' + alias + ']'; 139 created.querySelector('.data[data-type="alias"]').value = alias; 140 created.querySelector('tr.alias').style.display = 'none'; 141 var selected = root.querySelector('#aliases select option[value="_create_"]'); 142 var option = root.createElement('option'); 143 option.value = alias; 144 option.appendChild(root.createTextNode(alias)); 145 template.parentNode.insertBefore(created, template); 146 selected.parentNode.insertBefore(option, selected); 147 selected.parentNode.value = alias 148 $('#aliases select').selectmenu('refresh'); 149 displayAddress(addresses); 150 bindAddress(created); 151 [].forEach.call(template.querySelectorAll('.data'), function(element) { 152 switch (element.dataset.type) { 153 case 'name': 154 case 'email': { 155 element.value = USER[element.dataset.type]; 156 break; 157 } 158 case 'confirm': { 159 element.value = USER.email; 160 break; 161 } 162 case 'country': { 163 break; 164 } 165 default: { 166 element.value = ''; 167 break; 168 } 169 } 170 }); 171 break; 172 } 173 } 174 }); 175 } 176 177}
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.