1// Check is Block Search Cow 2jQuery(document).ready(function($) { 3 var ctx = document.getElementById("block-searchcowblock"); 4 if (typeof ctx !== 'undefined' && ctx !== null) { 5 6 var apiUrl = jQuery('#api_url').val(); 7 var printWindow = null; 8 9 // Criterias cow 10 function getSearchCowCriterias() { 11 12 var pAbvRelease = jQuery('[attr-select-box="abv_release"]'); 13 var pBreedSelect = jQuery('[attr-select-box="breed"]'); 14 var breedVal = pBreedSelect.find('[attr-hiden-value="true"]').val().trim(); 15 if (breedVal === 'All') { 16 breedVal = ''; 17 } 18 // var pPollCSelect = jQuery('[attr-select-box="polled_carriers"'); 19 var pGenotypedCSelect = jQuery('[attr-select-box="genotyped"]'); 20 var pTerminatedSelect = jQuery('[attr-select-box="terminated"]'); 21 22 var criterias = { 23 "RELEASE_ID": pAbvRelease.find('[attr-hiden-value="true"]').val(), 24 "SEARCH_ID": document.forms["cow-search-form"].elements['edit-search-by-id'].value.trim(), 25 "SEARCH_NAME": document.forms["cow-search-form"].elements['edit-search-by-name'].value.trim(), 26 "SEARCH_HERD": document.forms["cow-search-form"].elements['herd-owner-cow'].value ? JSON.parse(localStorage.getItem("parameterSeachCow"))["SEARCH_HERD"].key.trim() : '', 27 "SIRE_NATIONAL_ID": document.forms["cow-search-form"].elements['sire-search-cow'].value ? JSON.parse(localStorage.getItem("parameterSeachCow"))["SIRE_NATIONAL_ID"].key.trim() : '', 28 //"INTERNATIONAL_ID": document.forms[0].elements['international_id'].value.trim(), //New UI doesn't need- Dat 29 // "BREED_CD": document.forms[0].elements['edit-breed'].value, 30 "BREED_CD": breedVal, 31 //"LONG_NAME": document.forms[0].elements['edit-long-name'].value.trim(), //New UI doesn't need- Dat 32 //"SHORT_NAME": document.forms[0].elements['edit-short-name'].value.trim(), //New UI doesn't need- Dat 33 "BIRTH_DATE_FROM": convertDDMMYYtoMMDDYY(document.forms["cow-search-form"].elements['edit-date-of-birth-from'].value), 34 "BIRTH_DATE_TO": convertDDMMYYtoMMDDYY(document.forms["cow-search-form"].elements['edit-date-of-birth-to'].value), 35 // "BPI": document.forms["cow-search-form"].elements['edit-bpi'].value.trim(), 36 //"MSPEED_BV": document.forms["cow-search-form"].elements['edit-milking-speed-abv'].value.trim(), 37 // "OTYPE_BV": document.forms["cow-search-form"].elements['edit-overall-type-abv-min'].value.trim(), 38 // "OTYPE_BV_MAX": document.forms["cow-search-form"].elements['edit-overall-type-abv-max'].value.trim(), 39 // "HWI": document.forms["cow-search-form"].elements['edit-hwi'].value.trim(), 40 //"TEMP_BV": document.forms["cow-search-form"].elements['edit-temperament-abv'].value.trim(), 41 // "MAMM_BV": document.forms["cow-search-form"].elements['edit-mammary-system-abv-min'].value.trim(), 42 // "MAMM_BV_MAX": document.forms["cow-search-form"].elements['edit-mammary-system-abv-max'].value.trim(), 43 // "LIKE_BV": document.forms["cow-search-form"].elements['edit-likability-abv'].value.trim(), 44 // "POLLED": pPollCSelect.find('[attr-hiden-value="true"]').val().trim(), 45 // "GENOTYPED": document.forms[0].elements['edit-genotyped'].value.trim(), 46 // "GENOTYPED": pGenotypedCSelect.find('[attr-hiden-value="true"]').val().trim(), 47 // "ASI": document.forms["cow-search-form"].elements['edit-asi'].value.trim(), 48 // "GENETIC_CODE": document.forms["cow-search-form"].elements['edit-genetic-codes'].value.trim(), 49 // "TERMINATED": pTerminatedSelect.find('[attr-hiden-value="true"]').val().trim(), 50 51 52 // "FERT_BV": document.forms["cow-search-form"].elements['edit-daughter-fertility-abv'].value.trim(), 53 // "SCC_BV": document.forms["cow-search-form"].elements['edit-cell-count-abv'].value.trim(), 54 // "FEEDEF_BV": document.forms["cow-search-form"].elements['edit-feed-saved-abv'].value.trim(), 55 // "SURV_BV": document.forms["cow-search-form"].elements['edit-survival-abv'].value.trim(), 56 // "PARTY_CODE": document.forms["cow-search-form"].elements['company-search-cow'].value.trim() 57 58 "LAST_CALVING_DATE_FROM": convertDDMMYYtoMMDDYY(document.forms["cow-search-form"].elements['edit-last-calving-date-from'].value), 59 "LAST_CALVING_DATE_TO": convertDDMMYYtoMMDDYY(document.forms["cow-search-form"].elements['edit-last-calving-date-to'].value), 60 "GENETIC_CODE": document.forms["cow-search-form"].elements['edit-genetic-codes'].value.trim(), 61 "GENOTYPED": pGenotypedCSelect.find('[attr-hiden-value="true"]').val().trim(), 62 }; 63 64 // Column 1 65 processFieldMore(criterias, "#more-field-cow-bpi-conditional", "#more-field-cow-bpi-value", "BPI"); 66 processFieldMore(criterias, "#more-field-cow-hwi-conditional", "#more-field-cow-hwi-value", "HWI"); 67 processFieldMore(criterias, "#more-field-cow-asi-conditional", "#more-field-cow-asi-value", "ASI"); 68 processFieldMore(criterias, "#more-field-cow-si-conditional", "#more-field-cow-si-value", "SI"); 69 // Column 2 70 processFieldMore(criterias, "#more-field-cow-daughter-fertility-conditional", "#more-field-cow-daughter-fertility-value", "FERT_BV"); 71 processFieldMore(criterias, "#more-field-cow-calving-ease-conditional", "#more-field-cow-calving-ease-value", "EASE_BV"); 72 processFieldMore(criterias, "#more-field-cow-gestation-length-conditional", "#more-field-cow-gestation-length-value", "GESTATION_BV"); 73 processFieldMore(criterias, "#more-field-cow-dsb-conditional", "#more-field-cow-dsb-value", "DSB_BV"); 74 processFieldMore(criterias, "#more-field-cow-msb-conditional", "#more-field-cow-msb-value", "MSB_BV"); 75 processFieldMore(criterias, "#more-field-cow-mastitis-resistance-conditional", "#more-field-cow-mastitis-resistance-value", "MAS_BV"); 76 processFieldMore(criterias, "#more-field-cow-feed-saved-conditional", "#more-field-cow-feed-saved-value", "FEEDEF_BV"); 77 processFieldMore(criterias, "#more-field-cow-survival-conditional", "#more-field-cow-survival-value", "SURV_BV"); 78 processFieldMore(criterias, "#more-field-cow-heat-tolerance-conditional", "#more-field-cow-heat-tolerance-value", "HEATT_BV"); 79 // Column 3 80 processFieldMore(criterias, "#more-field-cow-overall-type-conditional", "#more-field-cow-overall-type-value", "OTYPE_BV"); 81 processFieldMore(criterias, "#more-field-cow-mammary-system-conditional", "#more-field-cow-mammary-system-value", "MAMM_BV"); 82 83 processFieldMore(criterias, "#more-field-cow-milking-speed-conditional", "#more-field-cow-milking-speed-value", "MSPEED_BV"); 84 processFieldMore(criterias, "#more-field-cow-temperament-conditional", "#more-field-cow-temperament-value", "TEMP_BV"); 85 processFieldMore(criterias, "#more-field-cow-likability-conditional", "#more-field-cow-likability-value", "LIKE_BV"); 86 87 criterias["TERMINATED"] = pTerminatedSelect.find('[attr-hiden-value="true"]').val().trim(); 88 89 return criterias; 90 } 91 92 function formatAnimalSelected() { 93 return GlobalVariable.selectedSearchCow.join(","); 94 } 95 96 function getRelease() { 97 var el = $('[attr-select-box="abv_release"]').find('[attr-hiden-value="true"]'); 98 if (el && el.val() !== "") { 99 return el.val(); 100 } 101 return $('#abv_release').val(); 102 } 103 104 async function getReportParams(isCriterias) { 105 var isReload = await checkpointReloadPage('cow'); 106 107 if(!isReload){ 108 var criterias = {}; 109 if (isCriterias) { 110 criterias = getSearchCowCriterias(); 111 criterias = cleanCriterias(criterias); 112 } 113 criterias['RELEASE_ID'] = getRelease(); 114 115 selectedCowItems = formatAnimalSelected(); 116 if (selectedCowItems != null && selectedCowItems != "") { 117 // have selected 118 criterias['ANIMAL_NATIONAL_ID'] = selectedCowItems; 119 } 120 121 // Check table result selected 122 var params = { 123 'criterias': criterias, 124 'sortedBy': "", 125 "partyCode": localStorage.getItem(constCurrentParty), 126 "isDescSorting": true 127 }; 128 129 return params; 130 } else { 131 return null; 132 } 133 } 134 135 //Handle button press 136 jQuery('#export-dif-202').click(async function() { 137 var params = await getReportParams(true); 138 139 if(params){ 140 // Reset array select 141 resetSelected(); 142 143 var contentType = 'application/octet-stream'; 144 downloadFile(apiUrl + "/api/cows/export-202-dif-excel-report", 'POST', params, "txt", contentType); 145 } 146 }); 147 148 jQuery('#export-cow-abv-summary-report').click(async function() { 149 var params = await getReportParams(true); 150 151 if(params){ 152 // Reset array select 153 resetSelected(); 154 155 var contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; 156 downloadFile(apiUrl + "/api/cows/export-cow-abv-summary-report", 'POST', params, "xlsx", contentType); 157 } 158 159 }); 160 jQuery('#btnPrint').click(function() { 161 var apiUrl = jQuery('#api_url').val(); 162 var releaseId = getRelease(); 163 164 selectedFormat = formatAnimalSelected(); 165 lengthSelected = GlobalVariable.selectedSearchCow.length; 166 if (lengthSelected > 0 && lengthSelected < 26) { 167 printWindow = window.open('', '', 'height=' + screen.height + ',width=' + screen.width + ', top=0, left=0, fullscreen=ye
167s'); 168 var params = { 169 'criterias': { 170 "RELEASE_ID": releaseId, 171 "ANIMAL_NATIONAL_ID": selectedFormat 172 }, 173 'sortedBy': "", 174 "partyCode": "Datagene", 175 "isDescSorting": true 176 }; 177 var objPrint = { 178 url: apiUrl + '/api/cows/get-print-selected-animals', 179 data: JSON.stringify(params), 180 successCallbackFunction: getDataPrintSuccess, 181 errorCallBackFunction: getDataPrintFailed 182 }; 183 postAjax(objPrint, false); 184 } else if (lengthSelected > 25) { 185 alertModal('Alert Information', 'Number of animals selected in excess of 25 elements'); 186 } else { 187 alertModal('Alert Information', 'No row is selected'); 188 } 189 190 }); 191 192 //======== Function 193 function getDataPrintSuccess(result) { 194 // Show loading spinner 195 hideLoading(); 196 // Call function print 197 renderCowDocPrint(result); 198 199 // Reset animal selected 200 resetSelected(); 201 renderItemSelected(GlobalVariable.selectedSearchCow); 202 } 203 204 function getDataPrintFailed(xhr) { 205 // Hide loading spinner 206 hideLoading(); 207 // alertModal('Alert Information', 'Error: ' + xhr.statusText + ' ' + xhr.responseText + ' ' + xhr.status); 208 alertModal('Alert Information', 'Have an error in printing!'); 209 } 210 211 function resetSelected() { 212 deselectSearchResult(GlobalVariable.searchBullResult); 213 GlobalVariable.selectedSearchCow = []; 214 var table = jQuery('#bulls-table'); 215 jQuery("tbody tr.background-color-primary-1", table).each(function() { 216 jQuery(this).removeClass("background-color-primary-1 selected"); 217 }); 218 jQuery(".label-header-block").css("background", "#6F8D25") 219 } 220 221 function renderCowDocPrint(result) { 222 var today = new Date(); 223 var dd = today.getDate(); 224 var mm = today.getMonth() + 1; 225 226 var yyyy = today.getFullYear(); 227 if (dd < 10) { 228 dd = "0" + dd; 229 } 230 if (mm < 10) { 231 mm = "0" + mm; 232 } 233 var today = dd + "-" + mm + "-" + yyyy; 234 document.title = "Search Cow-" + today; 235 var header = jQuery(document).find("head").html(); 236 237 var html = '<html>'; 238 html += header; 239 html += '<body id="search-result-print" style="height:auto">'; 240 html += '<div id="content-main" style="height:auto">'; 241 html += '<div>'; 242 html += createPrintHeader(dd, mm, yyyy, result.length); 243 if (result) { 244 if (result.length <= 7) { 245 html += createPrintTable(result, 0, result.length); 246 } else { 247 if (result.length > 7 && result.length <= 14) { 248 html += createPrintTable(result, 0, 7); 249 html += createPrintPageBreak(); 250 html += createPrintHeader(dd, mm, yyyy, result.length); 251 html += createPrintTable(result, 7, result.length); 252 } else { 253 if (result.length > 14 && result.length <= 21) { 254 html += createPrintTable(result, 0, 7); 255 html += createPrintPageBreak(); 256 html += createPrintHeader(dd, mm, yyyy, result.length); 257 html += createPrintTable(result, 7, 14); 258 html += createPrintPageBreak(); 259 html += createPrintHeader(dd, mm, yyyy, result.length); 260 html += createPrintTable(result, 14, result.length); 261 } else { 262 if (result.length > 21) { 263 html += createPrintTable(result, 0, 7); 264 html += createPrintPageBreak(); 265 html += createPrintHeader(dd, mm, yyyy, result.length); 266 html += createPrintTable(result, 7, 14); 267 html += createPrintPageBreak(); 268 html += createPrintHeader(dd, mm, yyyy, result.length); 269 html += createPrintTable(result, 14, 21); 270 html += createPrintPageBreak(); 271 html += createPrintHeader(dd, mm, yyyy, result.length); 272 html += createPrintTable(result, 21, result.length); 273 } 274 } 275 } 276 } 277 } 278 html += '<footer>'; 279 html += '<div class="disclaimer-footer">'; 280 html += '<div class="container no-padding-left-right-container animal-print-table">'; 281 html += '<div class="no-padding-left-right-container notefirst" style="width: 70%; float:left; font-size: 11px">'; 282 html += '<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 no-padding-left-right-container semi-bold animal-footer-marign">Disclaimer</div>'; 283 html += '<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 no-padding-left-right-container animal-footer-marign">'; 284 html += 'DataGene takes no responsibility for any errors, omissions, or defect in the data (whether negligent or otherwise) contained in this report '; 285 html += 'and makes no warranty (express or implied) that the data in this report is complete, accurate or fit for any particular purpose'; 286 html += '</div></div>'; 287 html += '</div>'; 288 html += '</div>'; 289 html += '</footer>'; 290 html += '</div>'; 291 html += '</section>'; 292 html += '</div>'; 293 html += '</div>'; 294 html += '</div>'; 295 html += '</body>'; 296 html += '</html>'; 297 printWindow.document.write(html); 298 299 setTimeout(function() { 300 // get total pages 301 var total_page_count_print = printWindow.document.getElementsByClassName("datavat-logo-header-print").length; 302 var page_count = printWindow.document.getElementsByClassName("page-count"); 303 for (var i = 0; i < page_count.length; i++) { 304 page_count[i].innerHTML = total_page_count_print; 305 } 306 printWindow.print(); 307 printWindow.close(); 308 }, 1500); 309 } 310 311 //Dat code 312 function createPrintPageBreak() { 313 return '<div class="page-break"></div>'; 314 } 315 316 function createPrintHeader(dd, mm, yyyy, length) { 317 var pathDataVatLogo = jQuery('#base_url').val() + '/themes/datagene/images/DataVatLogo.PNG'; 318 var html = ""; 319 html += '<header class="datavat-logo-header-print"><div class="layout-container">'; 320 html += '<div style="padding-top: 0px;">'; 321 html += '<div class="container padding-header no-padding-left-right-container" style="padding-top: 0px;">'; 322 html += '<div class="row">'; 323 html += '<div class="col-md-9 col-sm-9 col-xs-9 col-lg-9">'; 324 html += '<img alt="Logo Datagene" width="auto" height="48" src="' + pathDataVatLogo + '">'; 325 html += '</div>'; 326 html += '<div class=" col-md-3 col-sm-3 col-xs-3 col-lg-3 margin-account" style="padding-top: 0px; font-size: 10px;">'; 327 html += '<div class="row" style="padding-left: 20px;font-size: 11px">'; 328 html += '<div class="col-md-12 col-sm-12 col-xs-12 col-lg-12"><span class="semi-bold">Date prepared:</span> ' + dd + "/" + mm + "/" + yyyy + '</div>'; 329 html += '<div class="col-md-12 col-sm-12 col-xs-12 col-lg-12"><span class="semi-bold">Number of results:</span> ' + length + '</div>'; 330 html += '<div class="col-md-12 col-sm-12 col-xs-12 col-lg-12"><span class="semi-bold">Page:</span> <span class="page-number"></span> of <span class="page-count"></span></div>'; 331 html += '</div>'; 332 html += '</div>'; 333 html += '</div>'; 334 html += '</div>'; 335 html += '</div>'; 336 html += '</div>'; 337 html += '<div style="padding-bottom: 0px;">'; 338 html += '<section id="block-ffrblock" class="block block-ffr block-ffrblock clearfix">'; 339 html += '<div class="label-header-block green">'; 340 html += '<div class="container no-padding-left-right-container panel-header">'; 341 html += '<div class="row">'; 342 html += '<div><h4 class="block-title"><strong>Animal Search - Cow</strong> (selected results)</h4></div>'; 343 html += '</div>'; 344 html += '</div>'; 345 html += '</div>'; 346 html += '</header>'; 347 html += '<div id="panel-header" class="container-fluid cd-search-criteria gred" style="padding-top: 15px !important;padding-bottom: 15px;">'; 348 html += '<div class="container no-padding-left-right-container">'; 349 html += createSearchDetail("ABV Release", "bvRunName"); 350 // html += createSearchDetail("Breed", 'breedRunName'); 351 html += createSearchDetail("From Birthday", 'fromBirthday'); 352 html += createSearchDetail("To Birthday", 'toBirthday'); 353 html += createSearchDetail("ID", 'searchID'); 354 html += createSearchDetail("Name", 'searchName'); 355 html += createSearchDetail("BPI", 'searchBPI'); 356 html += createSearchDetail("HWI", 'searchHWI'); 357 html += createSearchDetail("ASI", 'searchASI'); 358 html += createSearchDetail("SI", 'searchSI'); 359 html += createSearchDetail("Daughter Fertility ABV", 'searchDaughFA'); 360 html += createSearchDetail("Cell Count ABV", 'searchCellCA'); 361 html += createSearchDetail("Feed Saved ABV", 'searchFeedSA'); 362 html += createSearchDetail("Survival ABV", 'searchSurA'); 363 html += createSearchDetail("Overall Type ABV Min", 'searchOverallTypeABVMin'); 364 html += createSearchDetail("Overall Type ABV Max", 'searchOverallTypeABVMax'); 365 html += createSearchDetail("Mammary System ABV Min", 'searchMammarySystemABVMin'); 366 html += createSearchDetail("Mammary System ABV Max", 'searchMammarySystemABVMax'); 367 html += createSearchDetail("Milking Speed ABV", 'searchMilkingSpeed'); 368 html += createSearchDetail("Temperament ABV", 'searchTemperament'); 369 html += createSearchDetail("Likability ABV", 'searchLikability'); 370 html += createSearchDetail("Genetic Codes", 'searchGeneticCodes'); 371 html += createSearchDetail("Polled Carriers", 'searchPolledCarriers'); 372 html += createSearchDetail("Genotyped", 'searchGenotyped'); 373 // html += '<div class="row-flex">'; 374 // html += '<div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 semi-bold">ABV Release</div>'; 375 // html += '<div class="col-xs-2 col-sm-2 col-md-2 col-lg-2 semi-bold">Breed</div>'; 376 // html += '<div class="col-xs-2 col-sm-2 col-md-2 col-lg-2"></div>'; 377 // html += '</div>'; 378 // html += '<div class="row-flex">'; 379 // html += '<div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">' + localStorage.getItem('bvRunName') + '</div>'; 380 // html += '<div class="col-xs-2 col-sm-2 col-md-2 col-lg-2">' + localStorage.getItem('breedRunName') + '</div>'; 381 // html += '<div class="col-xs-2 col-sm-2 col-md-2 col-lg-2"></div>'; 382 // html += '</div>'; 383 html += '</div>'; 384 html += '</div>'; 385 return html; 386 } 387 388 function createSearchDetail(label, key) { 389 var html = ""; 390 var value = localStorage.getItem(key); 391 if (value) { 392 html += '<div style="width:16%; float:left; font-size:8pt">'; 393 html += '<table style="width:100%;">' 394 html += '<tr><td class="semi-bold" style="font-size:11px;">' + label + '</td></tr>'; 395 html += '<tr><td style="font-size:11px;">' + value + '</td></tr>'; 396 html += '</table>' 397 html += '</div>'; 398 } 399 return html; 400 } 401 402 function createPrintTable(result, start_index, finish_index) { 403 var html = ""; 404 html += '<article><div>'; 405 html += '<div class="row container" style="padding-left: 0; padding-right: 5px;">'; 406 html += '<div class="print-table-content animal-print-table" style="margin-left: 15px; margin-right: -15px;">' 407 html += '<table id="bulls-table" class="dataTable animal-print-table" style="width: 100%;" role="grid" aria-describedby="bulls-table_info">'; 408 html += '<thead>'; 409 html += '<tr>'; 410 html += '<th style="border: 1px solid #b4b4b4;border-top-left-radius: 5px!important;border-top:none">National ID</th>'; 411 html += '<th style="border-right: 1px solid #b4b4b4">Long Name</th>'; 412 html += '<th style="border-right: 1px solid #b4b4b4">Short Name</th>'; 413 html += '<th style="border-right: 1px solid #b4b4b4">Within Herd ID</th>'; 414 html += '<th style="border-right: 1px solid #b4b4b4">Herd Owner</th>'; 415 html += '<th style="border-right: 1px solid #b4b4b4">Birth Date</th>'; 416 html += '<th style="border-right: 1px solid #b4b4b4">Sire</th>'; 417 html += '<th style="border-right: 1px solid #b4b4b4">Dam</th>'; 418 html += '<th style="border-right: 1px solid #b4b4b4;">BPI</th>'; 419 html += '</tr>'; 420 html += '</thead>'; 421 html += '<tbody>'; 422 if (result) { 423 // Remove row checkbox and action 424 for (var i = start_index; i < finish_index; i++) { 425 html += '<td>' + result[i].animaL_NATIONAL_ID + '</td>'; 426 html += '<td style="max-width:150px;">' + result[i].lonG_NAME + '</td>'; 427 html += '<td>' + result[i].shorT_NAME + '</td>'; 428 html += '<td>' + result[i].withiN_HERD_ID + '</td>'; 429 html += '<td>' + result[i].herD_OWNER + '</td>'; 430 // html += '<td>' + result[i].provider_code + '</td>'; 431 html += '<td>' + result[i].birtH_DATE + '</td>'; 432 html += '<td>' + result[i].sirE_NATIONAL_ID + '</td>'; 433 html += '<td>' + result[i].daM_NATIONAL_ID + '</td>'; 434 html += '<td>' + result[i].bpi + '</td>'; 435 html += '</tr>'; 436 } 437 } 438 html += '</tbody>'; 439 html += '</table>'; 440 html += '</div></div></article>'; 441 return html; 442 } 443 444 // Close the dropdown if the user clicks outside of it 445 ctx.onclick = function(event) { 446 if (event.target && event.target.className && event.target.className.toString().indexOf("dropbtn") !== 0) { 447 448 var dropdowns = document.getElementsByClassName("dropdown-content"); 449 var i; 450 for (i = 0; i < dropdowns.length; i++) { 451 var openDropdown = dropdowns[i]; 452 if (openDropdown.className.indexOf("show") !== -1) { 453 openDropdown.classList.remove("show"); 454 } 455 } 456 } 457 } 458 459 } 460 461 if (jQuery("#search-result-popover").length > 0) { 462 createPopover("#search-result-popover"); 463 } 464 465});
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.