1document.addEventListener('DOMContentLoaded', function () { 2 // Her shortcode instance'ını baÄımsız olarak baÅlat 3 var containers = document.querySelectorAll('.tax-system-container[data-evs-id]'); 4 5 containers.forEach(function (container) { 6 var uid = container.getAttribute('data-evs-id'); 7 var config = (window.evsInstances || {})[uid]; 8 if (!config) return; 9 10 var state1Sel = container.querySelector('.evs-state1-selector'); 11 var state2Sel = container.querySelector('.evs-state2-selector'); 12 var typesList = container.querySelector('.tax-types-list'); 13 var value1List = container.querySelector('.tax-value1-list'); 14 var value2List = container.querySelector('.tax-value2-list'); 15 var mobileContainer = container.querySelector('.tax-results-mobile'); 16 17 if (!state1Sel || !state2Sel) return; 18 19 var labels = config.labels || []; 20 var states = config.states || {}; 21 var allStates = config.allStates || []; 22 23 function emptyRows(count) { 24 return Array.from({ length: count || 4 }, function () { return '<li> </li>'; }).join(''); 25 } 26 27 function syncUI() { 28 var s1 = state1Sel.value; 29 var s2 = state2Sel.value; 30 31 if (s1 && s2) {
32 var vals1 = states[s1] || []; 33 var vals2 = states[s2] || []; 34 35 if (typesList) { 36 typesList.innerHTML = labels.map(function (l) { return '<li>' + l + '</li>'; }).join(''); 37 } 38 if (value1List) { 39 value1List.innerHTML = labels.map(function (_, i) { return '<li>' + (vals1[i] || '') + '</li>'; }).join(''); 40 } 41 if (value2List) { 42 value2List.innerHTML = labels.map(function (_, i) { return '<li>' + (vals2[i] || '') + '</li>'; }).join(''); 43 } 44 if (mobileContainer) { 45 mobileContainer.innerHTML = labels.map(function (label, i) { 46 return '<div class="tax-mobile-row">' + 47 '<div class="tax-mobile-type">' + label + '</div>' + 48 '<div class="tax-mobile-values">' + 49 '<div class="tax-mobile-value">' + (vals1[i] || '') + '</div>' + 50 '<div class="tax-mobile-value">' + (vals2[i] || '') + '</div>' + 51 '</div></div>'; 52 }).join(''); 53 } 54 } else { 55 if (typesList) typesList.innerHTML = emptyRows(4); 56 if (value1List) value1List.innerHTML = emptyRows(4); 57 if (value2List) value2List.innerHTML = emptyRows(4); 58 if (mobileContainer) mobileContainer.innerHTML = ''; 59 } 60 } 61 62 function filterDropdown(targetSel, excludeValue) { 63 var currentVal = targetSel.value; 64 var defaultText = 'Choose State'; 65 var firstOpt = targetSel.querySelector('option[value=""]'); 66 if (firstOpt) defaultText = firstOpt.textContent; 67 68 targetSel.innerHTML = ''; 69 var defOpt = document.createElement('option'); 70 defOpt.value = ''; 71 defOpt.textContent = defaultText; 72 targetSel.appendChild(defOpt); 73 74 allStates.forEach(function (s) { 75 if (s !== excludeValue) { 76 var o = document.createElement('option'); 77 o.value = s; 78 o.textContent = s; 79 if (s === currentVal) o.selected = true; 80 targetSel.appendChild(o); 81 } 82 }); 83 84 if (currentVal === excludeValue) { 85 targetSel.value = ''; 86 } 87 } 88 89 state1Sel.addEventListener('change', function () { 90 filterDropdown(state2Sel, this.value); 91 syncUI(); 92 }); 93 94 state2Sel.addEventListener('change', function () { 95 filterDropdown(state1Sel, this.value); 96 syncUI(); 97 }); 98 99 if (state1Sel.value) filterDropdown(state2Sel, state1Sel.value); 100 if (state2Sel.value) filterDropdown(state1Sel, state2Sel.value); 101 syncUI(); 102 }); 103});
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.