1/** 2 * Equalizer selector 3 * Date: 31/01/2023 4 * Alessandro Gammieri 5 * 6 */ 7function equalizer(container, selector) { 8 var maxHeight = 0; 9 $(container).each(function () { 10 $(this).find(selector).height("auto"); 11 $(this).find(selector).each(function () { 12 if (maxHeight < $(this).height()) { 13 maxHeight = $(this).height(); 14 } 15 }); 16 }); 17 18 $(container + " " + selector).each(function () { 19 $(this).height(maxHeight); 20 }); 21} 22 23/** 24 * Province Bolzano/Trento 25 * Date: 07/02/2024 26 * Alessandro Gammieri 27 * 28 */ 29function provBolzanoTrento() { 30 if ($("#javascript_palestre").length > 0) { 31 if ($("#javascript_palestre").hasClass("palestre-bolzano")) { 32 let prov = $("#id_provincia").children(); 33 prov.each(function () { 34 if ($(this).text().includes("Trento")) { 35 $(this).remove(); 36 } 37 }); 38 } else if ($("#javascript_palestre").hasClass("palestre-trento")) { 39 let prov = $("#id_provincia").children(); 40 prov.each(function () { 41 if ($(this).text().includes("Bolzano")) { 42 $(this).remove(); 43 } 44 }); 45 } 46 } 47} 48 49jQuery(function ($) { 50 51 /** 52 * Titoli card tesseramento 53 * Date: 08/02/2024 54 * Alessandro Gammieri 55 * 56 */ 57 try { 58 if ($("body").hasClass("com-callrestapi") && $("#lista_elementi").length > 0) { 59 equalizer("#lista_elementi", ".card-header"); 60 $(window).on("resize", function () { 61 equalizer("#lista_elementi", ".card-header"); 62 }).trigger("resize"); 63 } 64 } catch (error) { 65 console.error("Titoli card tesseramento: " + error); 66 } 67 68 /** 69 * Ricerca Palestre Comitati doppi 70 * Date: 06/02/2024 71 * Alessandro Gammieri 72 * 73 */ 74 try { 75 if ($("body").hasClass("home-comitato") && $("#form_palestre").length > 0) { 76 if ($("#id_regione").attr("type") != "hidden") { 77 $("#id_regione").on("select2:select", function (e) { 78 let selection = e.params.data.text.toLowerCase(); 79 if (selection.includes("aosta")) { 80 selection = "valledaosta"; 81 } 82 $("#form_palestre").attr("action", `palestre/${selection}.html`); 83 }); 84 } 85 } 86 } catch (error) { 87 console.error("Ricerca Palestre Comitati doppi: " + error); 88 } 89 90 /** 91 * Show Slider Eventi 92 * Date: 25/01/2024 93 * Alessandro Gammieri 94 * 95 */ 96 try { 97 if ($("#slider-events").length > 0) { 98 setTimeout(() => { 99 $("#slider-events").css("visibility", "visible"); 100 }, 1000); 101 } 102 } catch (error) { 103 console.error("Show Slider Eventi: " + error); 104 } 105 106 /** 107 * Equalizer Eventi LoadMore 108 * Date: 16/01/2024 109 * Alessandro Gammieri 110 * 111 */ 112 try { 113 if ($("body.com-rseventspro").length > 0) { 114 $("#rsepro_loadmore").on("click", function () { 115 setTimeout(() => { 116 equalizer(".rs_event_detail", ".titolo-evento"); 117 $(window).on("resize", function () { 118 equalizer(".rs_event_detail", ".titolo-evento"); 119 }).trigger("resize"); 120 }, 1000); 121 }); 122 } 123 } catch (error) { 124 console.error("Equalizer Eventi LoadMore: " + error); 125 } 126 127 /** 128 * Equalizer Box Video 129 * Date: 08/11/2023 130 * Alessandro Ferri 131 * 132 */ 133 try { 134 if ($("body.homepage").length > 0 || $("body.mini-home").length > 0 || $("body.home-museo").length > 0) { 135 equalizer("#video .sppb-addon-header", ".sppb-addon-title"); 136 $(window).on("resize", function () { 137 equalizer("#video .sppb-addon-header", ".sppb-addon-title"); 138 }).trigger("resize"); 139 } 140 } catch (error) { 141 console.error("Equalizer Eventi: " + error); 142 } 143 144 /** 145 * Offcanvas Museo del Pugilato 146 * Date: 20/11/2023 147 * Alessandro Gammieri 148 * 149 */ 150 try { 151 if ($("body").hasClass("museo-pugilato") && $("#hamburger-museo").length > 0) { 152 $(window).on("resize", function () { 153 if ($(window).width() < 1200) { 154 $("#hamburger-museo").on("click", function () { 155 $("body.museo-pugilato").addClass("offcanvas-active"); 156 }); 157 } 158 }).trigger("resize"); 159 } 160 } catch (error) { 161 console.error("Offcanvas Museo del Pugilato: " + error); 162 } 163 164 /** 165 * Offcanvas Comitato 166 * Date: 20/11/2023 167 * Alessandro Ferri 168 * 169 */ 170 try { 171 if ($("body").hasClass("comitato") && $("#hamburger-comitato").length > 0) { 172 $(window).on("resize", function () { 173 if ($(window).width() < 1200) { 174 $("#hamburger-comitato").on("click", function () { 175 $(".comitato").addClass("offcanvas-active"); 176 }); 177 } 178 }).trigger("resize"); 179 } 180 } catch (error) { 181 console.error("Offcanvas Comitato: " + error); 182 } 183 184 /** 185 * Equalizer Montly 186 * Date: 08/11/2023 187 * Alessandro Ferri 188 * 189 */ 190 try { 191 if ($("body.com-monthlyarchive").length > 0) { 192 equalizer(".ma-articles-list .ma-article", ".article-header"); 193 $(window).on("resize", function () { 194 equalizer(".ma-articles-list .ma-article", ".article-header"); 195 }).trigger("resize"); 196 } 197 } catch (error) { 198 console.error("Equalizer Eventi: " + error); 199 } 200 201 /** 202 * Equalizer News 203 * Date: 08/11/2023 204 * Alessandro Ferri 205 * 206 */ 207 try { 208 if ($("body.com-content").length > 0) { 209 equalizer(".article-list .article ", ".article-header"); 210 $(window).on("resize", function () { 211 equalizer(".article-list .article ", ".article-header"); 212 }).trigger("resize"); 213 } 214 } catch (error) { 215 console.error("Equalizer Eventi: " + error); 216 } 217 218 /** 219 * Equalizer Eventi 220 * Date: 07/11/2023 221 * Alessandro Ferri 222 * 223 */ 224 try { 225 if ($("body.com-rseventspro").length > 0) { 226 equalizer(".rs_event_detail", ".titolo-evento"); 227 $(window).on("resize", function () { 228 equalizer(".rs_event_detail", ".titolo-evento"); 229 }).trigger("resize"); 230 } 231 } catch (error) { 232 console.error("Equalizer Eventi: " + error); 233 } 234 235 /** 236 * Equalizer Logo Row 237 * Date: 31/10/2023 238 * Alessandro Gammieri 239 * 240 */ 241 try { 242 if ($("#logo-row").length > 0) { 243 equalizer("#logo-row .sppb-addon-text", "h4"); 244 $(window).on("resize", function () { 245 equalizer("#logo-row .sppb-addon-text", "h4"); 246 }).trigger("resize"); 247 } 248 } catch (error) { 249 console.error("Equalizer Gallery: " + error); 250 } 251 252 /** 253 * Equalizer Video Gallery 254 * Date: 31/10/2023 255 * Alessandro Ferri 256 * 257 */ 258 try { 259 if ($("body.com-cnvideos").length > 0) { 260 equalizer("#cnvideos .element-video", ".title"); 261 $(window).on("resize", function () { 262 equalizer("#cnvideos .element-video", ".title"); 263 }).trigger("resize"); 264 } 265 } catch (error) { 266 console.error("Equalizer Video Gallery: " + error); 267 } 268 269 /** 270 * Equalizer Button Row 271 * Date: 31/10/2023 272 * Alessandro Gammieri 273 * 274 */ 275 try { 276 if ($("#button-row").length > 0) { 277 equalizer("#button-row .sppb-row-column", ".sppb-btn"); 278 $(window).on("resize", function () { 279 equalizer("#button-row .sppb-row-column", ".sppb-btn"); 280 }).trigger("resize"); 281 } 282 } catch (error) { 283 console.error("Equalizer Gallery: " + error); 284 } 285 286 /** 287 * Equalizer Gallery 288 * Date: 24/10/2023 289 * Alessandro Ferri 290 * 291 */ 292 try { 293 if ($("body").hasClass("com-igallery")) { 294 equalizer(".igui-scope>.ig-menu-grid", ".ig-menu-grid-text"); 295 $(window).on("resize", function () { 296 equalizer(".igui-scope>.ig-menu-grid", ".ig-menu-grid-text"); 297 }).trigger("resize"); 298 } 299 } catch (error) { 300 console.error("Equalizer Gallery: " + error); 301 } 302 303 /** 304 * Equalizer News 305 * Date: 20/10/2023 306 * Alessandro Ferri 307 * 308 */ 309 try { 310 equalizer("#news-home .sppb-addon-content .sppb-articles-carousel-column .sppb-articles-carousel-content", ">a"); 311 $(window).on("resize", function () { 312 equalizer("#news-home .sppb-addon-content .sppb-articles-carousel-column .sppb-articles-carousel-content", ">a"); 313 }).trigger("resize"); 314 } catch (error) { 315 console.error("Equalizer Eventi: " + error); 316 } 317 318 319 /*********************************************************/ 320 /********************* CALL-REST API *********************/ 321 /*********************************************************/ 322 323 // Vista Corsi 324 try { 325 if ($('#javascript_corsi').length > 0) { 326 327 if ($("select#tipologia").length > 0) { 328 $("#tipologia").select2(); 329 } 330 331 if ($("select#stagione").length > 0) { 332 $("#stagione").select2(); 333 } 334 335 if ($("select#id_regione").length > 0) { 336 $("#id_regione").select2(); 337 } 338 } 339 } catch (error) { 340 console.log("Vista Corsi: " + error); 341 } 342 343 // Vista atleti 344 try { 345 346 if ($('#javascript_atleti').length > 0) { 347 348 if ($("select#id_comitato_atleti").length > 0) { 349 $("#id_comitato_atleti").select2(); 350 } 351 if ($("select#id_societa").length > 0) { 352 $("#id_societa").select2(); 353 } 354 if ($("select#sesso").length > 0) { 355 $("#sesso").select2(); 356 } 357 if ($("select#id_tipo_tessera").length > 0) { 358 $("#id_tipo_tessera").select2(); 359 } 360 if ($("select#id_qualifica").length > 0) { 361 $("#id_qualifica").select2(); 362 } 363 if ($("select#id_peso").length > 0) { 364 $("#id_peso").select2(); 365 } 366 367 var comitato_ok = $('#comitato_ok').val(); 368 var tessera_ok = $('#tessera_ok').val(); 369 var sesso_ok = $('#sesso_ok').val(); 370 var qualifica_ok = $('#qualifica_ok').val(); 371 var peso_ok = $('#peso_ok').val(); 372 var societa_ok = $('#societa_ok').val(); 373 374 $('#id_comitato_atleti').change(function () { 375 $("#id_societa").html('<option value="">Società </option>'); 376 var id_comitato = $("#id_comitato_atleti option:selected").val(); 377 if (!id_comitato) { id_comitato = comitato_ok; } 378 $.ajax({ 379 type: "GET", 380 url: "/index.php?option=com_callrestapi&task=json_societa", 381 dataType: "html", 382 data: "id_comitato=" + id_comitato, 383 success: function (msg) { 384 $("#id_societa").html(msg); 385 if (societa_ok) { 386 $("#id_societa").val(societa_ok); 387 } 388 }, 389 error: function () { 390 alert("Chiamata fallita!"); 391 } 392 }); 393 }); 394 395 $('#id_tipo_tessera, #sesso').change(function () { 396 $("#id_qualifica").html('<option value="">Qualifica</option>'); 397 var id_tipo_tessera = $("#id_tipo_tessera option:selected").val(); 398 var sesso = $("#sesso option:selected").val(); 399 $.ajax({ 400 type: "GET", 401 url: "/index.php?option=com_callrestapi&task=json_qualifiche", 402 dataType: "html", 403 data: { 404 'id_tipo_tessera': id_tipo_tessera, 405 'sesso': sesso 406 }, 407 success: function (msg) { 408 $("#id_qualifica").html(msg); 409 if (qualifica_ok) { 410 $("#id_qualifica").val(qualifica_ok); 411 $('#id_qualifica').change(); 412 } 413 }, 414 error: function () { 415 alert("Chiamata fallita!"); 416 } 417 }); 418 }); 419 420 $('#id_qualifica').change(function () { 421 $("#id_peso").html('<option value="">Peso</option>'); 422 var id_tipo_tessera = $("#id_tipo_tessera option:selected").val(); 423 var sesso = $("#sesso option:selected").val(); 424 var qualifica = $("#id_qualifica option:selected").val(); 425 $.ajax({ 426 type: "GET", 427 url: "/index.php?option=com_callrestapi&task=json_peso", 428 dataType: "html", 429 data: { 430 'qualifica': qualifica, 431 'id_tipo_tessera': id_tipo_tessera, 432 'sesso': sesso 433 }, 434 success: function (msg) { 435 $("#id_peso").html(msg); 436 if (peso_ok) { 437 $("#id_peso").val(peso_ok); 438 } 439 }, 440 error: function () { 441 alert("Chiamata fallita!"); 442 } 443 }); 444 445 }); 446 447 if (comitato_ok != '') { 448 $('#id_comitato_atleti').change(); 449 } 450 if (tessera_ok != '' || sesso_ok != '') { 451 $('#id_tipo_tessera').change(); 452 } 453 454 openModal(); 455 } 456 457 } catch (e) { 458 console.log(e); 459 } 460 461 // Vista tecnici 462 try { 463 464 if ($('#javascript_tecnici').length > 0) { 465
466 $('#tipo_tecnico').change(function () { 467 var tecnico = $("#tipo_tecnico option:selected").val(); 468 if (tecnico == 'Societario') { 469 if ($("body").hasClass("comitato")) { 470 $("#form_tecnici").attr('action', '/tecnici/tecnici-societari.html'); 471 } else { 472 $("#form_tecnici").attr('action', '/tecnici-societari.html'); 473 } 474 } else { 475 if ($("body").hasClass("comitato")) { 476 $("#form_tecnici").attr('action', '/tecnici/tecnici-federali.html'); 477 } else { 478 $("#form_tecnici").attr('action', '/tecnici-federali.html'); 479 } 480 } 481 }); 482 483 if ($("select#id_comitato_tecnici").length > 0) { 484 $("#id_comitato_tecnici").select2(); 485 } 486 if ($("select#tipo_tecnico").length > 0) { 487 $("#tipo_tecnico").select2(); 488 } 489 if ($("select#id_categoria").length > 0) { 490 $("#id_categoria").select2(); 491 } 492 } 493 494 } catch (e) { 495 console.log(e); 496 } 497 498 // Vista palestre 499 try { 500 501 if ($('#javascript_palestre').length > 0) { 502 503 if ($("select#id_regione").length > 0) { 504 $("#id_regione").select2(); 505 } 506 if ($("select#id_provincia").length > 0) { 507 $("#id_provincia").select2(); 508 } 509 510 var regione_ok = $('#regione_ok').val(); 511 var provincia_ok = $('#provincia_ok').val(); 512 513 $('#id_regione').change(function () { 514 $("#id_provincia").html('<option value="">Provincia</option>'); 515 var id_regione = $("#id_regione option:selected").val(); 516 if (!id_regione) { id_regione = regione_ok; } 517 $.ajax({ 518 type: "GET", 519 url: "/index.php?option=com_callrestapi&task=json_province", 520 dataType: "html", 521 data: "id_regione=" + id_regione, 522 success: function (msg) { 523 $("#id_provincia").html(msg); 524 if (provincia_ok) { 525 $("#id_provincia").val(provincia_ok); 526 provBolzanoTrento(); 527 } 528 }, 529 error: function () { 530 alert("Chiamata fallita!"); 531 } 532 }); 533 }); 534 535 if (regione_ok != '') { 536 $('#id_regione').change(); 537 } 538 } 539 540 } catch (e) { 541 console.log(e); 542 } 543 544 // Slide infomazioni aggiuntive comitato 545 try { 546 547 $("#dirigenti").on("click", function () { 548 $("#elenco_dirigenti").slideToggle(); 549 }); 550 $("#societa").on("click", function () { 551 $("#elenco_societa").slideToggle(); 552 }); 553 $("#giudici").on("click", function () { 554 $("#elenco_giudici").slideToggle(); 555 }); 556 557 } catch (e) { 558 console.log(e); 559 } 560 561 // Info nascoste nei moduli in HP 562 if ($("body").hasClass("homepage")) { 563 $("#titolo_atleti").hide(); 564 $("#sesso").parent().hide(); 565 $("#id_tipo_tessera").parent().hide(); 566 $("#id_qualifica").parent().hide(); 567 $("#id_peso").parent().hide(); 568 $("#titolo_tecnici").hide(); 569 $("#id_categoria").parent().hide(); 570 $("#titolo_palestre").hide(); 571 } 572 573 // PAGINAZIONE VISTE 574 getAtletiPagination(); 575 getTecniciPagination(); 576 getPalestrePagination(); 577 getCorsiPagination(); 578 579 function openModal() { 580 $(".incontri").on("click", function () { 581 var matricola = $(this).attr("data-id"); 582 $('#modal-' + matricola + ' .modal-body').empty(); 583 $('#modal-' + matricola + ' .modal-title').empty(); 584 $('#modal-' + matricola + ' .modal-title').append("Riepilogo Incontri"); 585 586 //console.log(matricola); 587 588 $.ajax({ 589 type: "GET", 590 url: "/index.php?option=com_callrestapi&task=json_incontri", 591 dataType: "html", 592 data: { 'matricola': matricola }, 593 success: function (msg) {
594 $('#modal-' + matricola + ' .modal-body').append(msg); 595 }, 596 error: function () { 597 alert("Chiamata fallita!"); 598 } 599 }); 600 }); 601 602 $(".record").click(function () { 603 var matricola = $(this).attr("data-id"); 604 $('#modal-' + matricola + ' .modal-body').empty(); 605 $('#modal-' + matricola + ' .modal-title').empty(); 606 $('#modal-' + matricola + ' .modal-title').append("Record"); 607 608 $.ajax({ 609 type: "GET", 610 url: "/index.php?option=com_callrestapi&task=json_totalizzatori", 611 dataType: "html", 612 data: { 'matricola': matricola }, 613 success: function (msg) { 614 $('#modal-' + matricola + ' .modal-body').append(msg); 615 }, 616 error: function () { 617 alert("Chiamata fallita!"); 618 } 619 }); 620 }); 621 } 622 623 function getAtletiPagination() { 624 try { 625 $("#pagination-atleti .page-link").on("click", function () { 626 let page = $(this).attr("data-value"); 627 let id_comitato_atleti = $("#id_comitato_atleti").val(); 628 let cognome = $("#cognome").val(); 629 let id_societa = $("#id_societa").val(); 630 let id_tipo_tessera = $("#id_tipo_tessera").val(); 631 let id_peso = $("#id_peso").val(); 632 let id_qualifica = $("#id_qualifica").val(); 633 let sesso = $("#sesso").val(); 634 let stagione = $("#stagione").val(); 635 636 if (page) { 637 638 $.ajax({ 639 url: '/index.php?option=com_callrestapi&view=atleti&format=json', 640 type: 'POST', 641 dataType: 'json', 642 data: { 643 'page': page, 644 'stagione': stagione, 645 'id_comitato_atleti': id_comitato_atleti, 646 'cognome': cognome, 647 'id_societa': id_societa, 648 'id_tipo_tessera': id_tipo_tessera, 649 'id_peso': id_peso, 650 'id_qualifica': id_qualifica, 651 'sesso': sesso 652 653 }, 654 }).done(function (response) { 655 let html = $(response.content).find("#lista_elementi").html(); 656 $("#lista_elementi").html(""); 657 $("#lista_elementi").append(html); 658 openModal(); 659 getAtletiPagination(); 660 661 equalizer("#lista_elementi", ".card-header"); 662 $(window).on("resize", function () { 663 equalizer("#lista_elementi", ".card-header"); 664 }).trigger("resize"); 665 666 }).fail(function (textStatus, errorThrown) { 667 console.log(textStatus + ': ' + errorThrown); 668 }); 669 670 } 671 672 }); 673 } catch (error) { 674 console.log("getAtletiPagination", error); 675 } 676 } 677 678 function getTecniciPagination() { 679 try { 680 $("#pagination-tecnici .page-link").on("click", function () { 681 let page = $(this).attr("data-value"); 682 let id_comitato_tecnici = $("#id_comitato_tecnici").val(); 683 let cognome = $("#cognome").val(); 684 let tipo_tecnico = $("#tipo_tecnico").val(); 685 let id_categoria = $("#id_categoria").val(); 686 let stagione = $("#stagione").val(); 687 688 if (page) { 689 690 $.ajax({ 691 url: '/index.php?option=com_callrestapi&view=tecnici&format=json', 692 type: 'POST', 693 dataType: 'json', 694 data: { 695 'page': page, 696 'stagione': stagione, 697 'id_comitato_tecnici': id_comitato_tecnici, 698 'cognome': cognome, 699 'tipo_tecnico': tipo_tecnico, 700 'id_categoria': id_categoria 701 }, 702 }).done(function (response) { 703 let html = $(response.content).find("#lista_elementi").html(); 704 $("#lista_elementi").html(""); 705 $("#lista_elementi").append(html); 706 getTecniciPagination(); 707 708 equalizer("#lista_elementi", ".card-header"); 709 $(window).on("resize", function () { 710 equalizer("#lista_elementi", ".card-header"); 711 }).trigger("resize"); 712 713 }).fail(function (textStatus, errorThrown) { 714 console.log(textStatus + ': ' + errorThrown); 715 }); 716 717 } 718 719 }); 720 } catch (error) { 721 console.log("getTecniciPagination", error); 722 } 723 } 724 725 function getPalestrePagination() { 726 try { 727 $("#pagination-palestre .page-link").on("click", function () { 728 let page = $(this).attr("data-value"); 729 let id_regione = $("#id_regione").val();
730 let denominazione = $("#denominazione").val(); 731 let id_provincia = $("#id_provincia").val(); 732 let stagione = $("#stagione").val(); 733 734 if (page) { 735 736 $.ajax({ 737 url: '/index.php?option=com_callrestapi&view=palestre&format=json', 738 type: 'POST', 739 dataType: 'json', 740 data: { 741 'page': page, 742 'stagione': stagione, 743 'id_regione': id_regione, 744 'denominazione': denominazione, 745 'id_provincia': id_provincia 746 747 }, 748 }).done(function (response) { 749 let html = $(response.content).find("#lista_elementi").html(); 750 $("#lista_elementi").html(""); 751 $("#lista_elementi").append(html); 752 getPalestrePagination(); 753 754 equalizer("#lista_elementi", ".card-header"); 755 $(window).on("resize", function () { 756 equalizer("#lista_elementi", ".card-header"); 757 }).trigger("resize"); 758 759 }).fail(function (textStatus, errorThrown) { 760 console.log(textStatus + ': ' + errorThrown); 761 }); 762 763 } 764 765 }); 766 } catch (error) { 767 console.log("getPalestrePagination", error); 768 } 769 } 770 771 function getCorsiPagination() { 772 try { 773 $("#pagination-corsi .page-link").on("click", function () { 774 let page = $(this).attr("data-value"); 775 let id_regione = $("#id_regione").val(); 776 let denominazione = $("#denominazione").val(); 777 let tipologia = $("#tipologia").val(); 778 let stagione = $("#stagione").val(); 779 780 if (page) { 781 782 $.ajax({ 783 url: '/index.php?option=com_callrestapi&view=corsi&format=json', 784 type: 'POST', 785 dataType: 'json', 786 data: { 787 'page': page, 788 'stagione': stagione, 789 'id_regione': id_regione, 790 'denominazione': denominazione, 791 'tipologia': tipologia 792 793 }, 794 }).done(function (response) { 795 let html = $(response.content).find("#lista_elementi").html(); 796 $("#lista_elementi").html(""); 797 $("#lista_elementi").append(html); 798 getCorsiPagination(); 799 800 equalizer("#lista_elementi", ".card-header"); 801 $(window).on("resize", function () { 802 equalizer("#lista_elementi", ".card-header"); 803 }).trigger("resize"); 804 805 }).fail(function (textStatus, errorThrown) { 806 console.log(textStatus + ': ' + errorThrown); 807 }); 808 809 } 810 811 }); 812 } catch (error) { 813 console.log("getCorsiPagination", error); 814 } 815 } 816});
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.