PageSourceSearch

https://www.verdictfoodservice.com/wp-content/plugins/gd-opensearc…/js/gd-opensearch-public.js?ver=1790913422

js verdictfoodservice.com collected 2026-10-02 03:58:19 UTC 24,525 bytes, 755 lines download raw bytes

1var ajax_url_p = "";
2var urls = [];
3
4if (window.location.href.indexOf("/data-insights/") != -1) {
5  var facet_index = 1;
6} else {
7  var facet_index = 0;
8}
9
10// generate slugs
11function slugify(data) {
12  return data.toLowerCase().replace(/[^a-z0-9]+/g, "-");
13}
14
15// fix image lazyload issue after ajax
16function lazyImg() {
17  jQuery("#solr-search-results img").each(function () {
18    var src = jQuery(this).data("src");
19    // Use .data() method to get the data-src attribute
20    if (src) {
21      jQuery(this).attr("src", src).removeData("src");
22      // Set src attribute and remove data-src attribute
23    }
24  });
25}
26
27// Build fancytree format json from inputjson
28function buildfancytreejson(inputData) {
29  const data = [];
30  if (inputData == null) {
31    console.log("null");
32    return [];
33  }
34  inputData.forEach((item) => {
35    const keys = item.key.split("->");
36    let parent = data;
37    let level = 1;
38    keys.forEach((key, index) => {
39      const existingNode = parent.find(
40        (node) => node.title === key && node.level === level,
41      );
42      if (!existingNode) {
43        const newNode = {
44          title: key,
45          expanded: false,
46          folder: false,
47          key: `${slugify(key)}_${level}_${index}`,
48          facetName: key,
49        };
50        if (index === keys.length - 1) {
51          newNode.doc_count = item.doc_count;
52        }
53        newNode.level = level;
54        parent.push(newNode);
55        parent = newNode.children = newNode.children || [];
56      } else {
57        parent = existingNode.children;
58      }
59      level++;
60    });
61  });
62  return data;
63}
64
65// Fetch facets from url and populate the facets selection
66function loadFacetsfromUrl() {
67  const urlParams = new URLSearchParams(window.location.search);
68  const facetValues = {};
69  urlParams.forEach((value, key) => {
70    if (key.includes("selected_facets")) {
71      const facetParts = value.split(":");
72      const facetType = facetParts[0];
73      const facetValue = facetParts[1];
74      if (!facetValues[facetType]) {
75        facetValues[facetType] = [];
76      }
77      facetValues[facetType].push(facetValue);
78    }
79  });
80  Object.keys(facetValues).forEach((facetType) => {
81    if (facetType != "publication_date_str" || facetType != "undefined") {
82      console.log(facetType);
83      facetValues[facetType].forEach((facetValue) => {
84        var fancy_id = jQuery("#" + facetType + "_fancy");
85        if (fancy_id.length > 0) {
86          var allKeys = jQuery.map(
87            jQuery("#" + facetType + "_fancy")
88              .fancytree("getRootNode")
89              .getChildren(),
90            function (node) {
91              console.log(node.data["facetName"]);
92              console.log(facetValue);
93              if (node.data["facetName"] == facetValue) {
94                node.setSelected(true);
95              }
96            },
97          );
98        }
99      });
100    }
101  });
102}
103
104// reload fancytree after ajax with latest facetsdata
105function reloadFancyTree(treeId, treeDataArray) {
106  var tree = jQuery("#" + treeId).fancytree("getTree");
107  var selectedNodes = tree.getSelectedNodes();
108  selectedNodes.forEach(function (node) {});
109  tree.reload(buildfancytreejson(treeDataArray));
110  jQuery("a.fancytree-header").show(); // show the facet headers by default
111  if (treeDataArray == null) {
112    var tree_class = treeId.replace("_fancy", "");
113    jQuery("a[data-toggle=" + tree_class + "]").hide();
114  }
115  selectedNodes.forEach(function (node) {
116    var currentNode = tree.getNodeByKey(node.key);
117    if (currentNode) {
118      currentNode.setSelected(true);
119    }
120  });
121}
122jQuery(document).ready(function () {
123  //updatePubdatePrice();
124  getserach_by_value();
125  setTimeout(() => {
126    loadFacetsfromUrl();
127  }, 500);
128
129  const urlParams = new URLSearchParams(window.location.search);
130  var paramValue = urlParams.get("search_sort");
131  if (paramValue === null) {
132    paramValue = "sort_by_relevancy_desc";
133  }
134});
135
136// Ajax function on facets selection/deselection
137jQuery(document).on(
138  "click",
139  ".ui-fancytree li .fancytree-checkbox",
140  function () {
141    //alert(123);
142    var facet_name = jQuery(this).closest("li").attr("data-os-facet-data");
143    var industry_type = jQuery(this)
144      .closest("li")
145      .attr("data-os-industry_type");
146
147    var selected_chekbox_facet = jQuery(this)
148      .closest("li")
149      .attr("aria-selected");
150    if (selected_chekbox_facet == "true") {
151      jQuery(".no_filters_" + industry_type).css("display", "none");
152    } else {
153      jQuery(".no_filters_" + industry_type).css("display", "block");
154    }
155
156    data_refresh_after_ajax(industry_type, facet_name);
157  },
158);
159
160// Function to pass dynamic params to url without reloading the page
161function setQueryStringParameter(name, value, append = false) {
162  const url = new URL(window.location.href);
163  const params = url.searchParams;
164  if (params.has(name)) {
165    params.set(name, value);
166  } else if (append) {
167    params.append(name, value);
168  } else {
169    params.set(name, value);
170  }
171  window.history.replaceState(null, "", url.toString());
172}
173// Ajax function - Send ajax call with current page url and refresh search/pagination/facets
174function ajaxReq(page_url) {
175  var search_results_div = jQuery("#solr-search-results");
176  jQuery(search_results_div).css("position", "relative");
177  var overlay = jQuery("<div class='overlay-search'></div>")
178    .css({
179      position: "absolute",
180      top: 0,
181      left: 0,
182      width: "100%",
183      height: "100%",
184      background: "rgba(255, 255, 255, 0.7)",
185      "z-index": 999999,
186    })
187    .appendTo(search_results_div);
188  jQuery(".filter-criteria").removeClass("is-open");
189  jQuery.ajax({
190    url: page_url,
191    dataType: "html",
192    success: function (response) {
193      jQuery(".res_info").html(jQuery(response).find(".res_info").html());
194      // update pagination block
195      jQuery(".fancytree-render-js").html(
196        jQuery(response).find(".fancytree-render-js").html(),
197      );
198      // update facets html
199      jQuery("#solr-search-results").html(
200        jQuery(response).find("#solr-search-results").html(),
201      );
202      // update search results div
203
204      var primary_facet = jQuery(".span-l a i").attr("data-industry");
205      console.log(primary_facet);
206
207      // var themes_tree = jQuery("#themes_str_fancy").fancytree("getTree");
208      // themes_tree.visit(function (node) {
209      // 		console.log(node.count);
210      // });
211
212      overlay.remove();
213      setTimeout(function () {
214        lazyImg();
215        if (window.location.href.indexOf("/data-insights/") != -1) {
216          reloadFancyTree("_company_name_str_fancy", _company_name_str_arr);
217          reloadFancyTree("_disease_name_str_fancy", _disease_name_str_arr);
218          reloadFancyTree("_drug_name_str_fancy", _drug_name_str_arr);
219          reloadFancyTree("themes_insights_str_fancy", themes_insights_str_arr);
220        } else {
221          reloadFancyTree("categories_str_fancy", categories_str_arr);
222          reloadFancyTree("type_fancy", type_arr);
223          reloadFancyTree("sector_str_fancy", sector_str_arr);
224          reloadFancyTree("region_str_fancy", region_str_arr);
225        }
226
227        //	updatePubdatePrice();
228        // fix image lazyload
229        console.log("lazy loaded images");
230      }, 100);
231      if (
232        parseInt(jQuery(".res_info strong:first").text().trim()) == 0 ||
233        parseInt(jQuery(".res_info strong:nth-child(2)").text().trim()) == 0
234      ) {
235        jQuery(".nodata-insights").css("display", "block");
236        jQuery(".nodata-insights").html("No Data Found");
237      }
238
239      if (
240        parseInt(jQuery(".res_info strong:first").text().trim()) ==
241        parseInt(jQuery(".res_info strong:nth-child(2)").text().trim())
242      ) {
243        //setTimeout(function() {
244        jQuery(".search_page_loadmore .insights_loadmore").hide();
245
246        jQuery("#load-more-archives, #load-more-insights").hide();
247        //}, 100);
248      } else {
249        jQuery(".search_page_loadmore .insights_loadmore").show();
250        jQuery("#load-more-archives, #load-more-insights").show();
251      }
252    },
253    error: function () {
254      overlay.remove();
255    },
256  });
257}
258
259// Pagination Click - Ajax
260jQuery(document).on(
261  "click",
262  ".pg-pagination-prev,.pg-pagination-next",
263  function (e) {
264    e.preventDefault();
265    var page_url = jQuery(this).find("a").attr("href");
266    window.history.replaceState(null, null, page_url);
267    ajaxReq(page_url);
268  },
269);
270
271// Sort by relevancy - Ajax
272jQuery(document).on("change", "#DDPMenupg-ddp-sort", function (e) {
273  e.preventDefault();
274  var sort_param = jQuery(this).val();
275  var sort_param_text = jQuery(this).find("span").text();
276  console.log(sort_param);
277  if (sort_param == "sort_by_relevancy_desc") {
278    var page_url = window.location.href + "&search_sort=";
279  } else {
280    var page_url =
281      window.location.href + "&search_sort=" + sort_param.toString();
282  }
283  if (window.location.href.indexOf("search_sort") != -1) {
284    const urlParams1 = new URLSearchParams(window.location.search);
285
286    // console.log("sort "+urlParams1)
287    for (let key of urlParams1.keys()) {
288      console.log("keys " + key);
289      // if (urlParams1.get(key).includes('search_sort')) {
290      if (key == "search_sort") {
291        console.log("Key containing 'date': " + key);
292        setQueryStringParameter(key, sort_param, false);
293        jQuery(".sort-by-text").text(sort_param_text);
294        jQuery("#pg-ddp-sort").removeClass("is-open");
295      }
296    }
297  } else {
298    jQuery(".sort-by-text").text(sort_param_text);
299    jQuery("#pg-ddp-sort").removeClass("is-open");
300    window.history.replaceState(null, null, page_url);
301  }
302  // window.history.replaceState(null, null, page_url);
303  ajaxReq(page_url);
304});
305
306// Per page - Ajax
307jQuery(document).on(
308  "click",
309  "#load-more-archives,#load-more-insights",
310  function (e) {
311    e.preventDefault();
312    var urlParams = new URLSearchParams(window.location.search);
313
314    //var per_page = '';
315    if (window.location.href.indexOf("per_page") == -1) {
316      var per_page = 30;
317      var page_url = window.location.href + "&per_page=" + per_page;
318      page_url = page_url.replace(/\/page\/\d+\//, "/");
319      console.log("new " + page_url.replace(/\/page\/\d+\//, "/"));
320      window.history.replaceState(null, null, page_url);
321    } else if (window.location.href.indexOf("per_page") != -1) {
322      const urlParams1 = new URLSearchParams(window.location.search);
323      var per_page = parseInt(urlParams.get("per_page")) + 10;
324      // console.log("sort "+urlParams1)
325      for (let key of urlParams1.keys()) {
326        console.log("keys " + key);
327        // if (urlParams1.get(key).includes('search_sort')) {
328        if (key == "per_page") {
329          console.log("Key containing 'date': " + key);
330          setQueryStringParameter(key, per_page, false);
331        }
332      }
333
334      var page_url = window.location.href;
335    } else {
336      var page_url = window.location.href + "&per_page=" + per_page;
337      window.history.replaceState(null, null, page_url);
338    }
339    // window.history.replaceState(null, null, page_url);
340    ajaxReq(page_url);
341  },
342);
343//show fancytree reset button on keyup
344jQuery(document).on("keyup", "#inline-search", function () {
345  if (jQuery(this).val() == "") {
346    jQuery(this).closest(".js-geo-tree").find(".fancytree-reset").hide();
347  } else {
348    jQuery(this).closest(".js-geo-tree").find(".fancytree-reset").show();
349  }
350});
351
352//search box in facets
353jQuery(document).on("input", ".fancytree-search", function () {
354  var searchString = jQuery(this).val();
355  jQuery(this)
356    .closest(".fancytree-view")
357    .find("ul li")
358    .each(function (index, value) {
359      var currentName = jQuery(value).text();
360      if (currentName.toUpperCase().indexOf(searchString.toUpperCase()) > -1) {
361        jQuery(value).show();
362        jQuery(this).find('[aria-hidden="true"]').csss("display", "block");
363        // jQuery('.wpsolr_facet_scroll [aria-hidden="true"]').css('display', 'block');ssss
364      } else {
365        jQuery(value).hide();
366      }
367    });
368});
369
370// Search within facets data in Fancytree
371function getserach_by_value() {
372  jQuery(".fancytree-search").on("keyup", function (e) {
373    var match = jQuery(this).val();
374    var fancytree_id = jQuery(this)
375      .closest(".fancytree-holder")
376      .find(".fancytree-view")
377      .attr("id");
378    var tree = jQuery.ui.fancytree.getTree("#" + fancytree_id);
379    tree.filterNodes(function (node) {
380      var n_title = node.data.facetName;
381      node.title =
382        n_title + "<span class= 'count'>(" + node.data.doc_count + ")</span>";
383      return (
384        !match || node.title.toLowerCase().indexOf(match.toLowerCase()) > -1
385      );
386    });
387    // tree.filterNodes(function (node) {
388    // 	var n_title = node.data.facetName
389    // 	if (node.data.doc_count) {
390    // 		node.title = n_title + "<span class= 'count'>(" + node.data.doc_count + ")</span>";
391    // 	}
392    // 	return !match || node.title.toLowerCase().indexOf(match.toLowerCase()) > -1;
393    // });
394    if (match === "") {
395      jQuery(this)
396        .closest(".fancytree-holder")
397        .find(".input-group-button .fancytree-reset")
398        .hide();
399      // Visit all nodes and collapse them
400      tree.visit(function (node) {
401        node.setExpanded(false);
402      });
403    } else {
404      jQuery(this)
405        .closest(".fancytree-holder")
406        .find(".input-group-button .fancytree-reset")
407        .show();
408    }
409    // Define the custom sorting function
410    function sortChildren(a, b) {
411      var aDocCount = a.data.doc_count || 0;
412      var bDocCount = b.data.doc_count || 0;
413      return bDocCount - aDocCount;
414    }
415
416    // Get the root node of the Fancytree
417    var rootNode = tree.getRootNode();
418    // Sort the children of the root node using the custom sorting function
419    rootNode.sortChildren(sortChildren, true);
420  });
421}
422// Search within facets data in Fancytree
423jQuery(".fancytree-search").on("keyup", function (e) {
424  var match = jQuery(this).val().trim();
425  var fancytree_id = jQuery(this)
426    .closest(".fancytree-holder")
427    .find(".fancytree-view")
428    .attr("id");
429  // console.log("fancytree_id - " + fancytree_id)
430  var tree = jQuery.ui.fancytree.getTree("#" + fancytree_id);
431  tree.filterNodes(function (node) {
432    // console.log(node);
433    // if (node.data.facetName.indexOf('_') != -1) {
434    // 	var n_title = node.data.facetName.split('_')[0]
435    // }
436    // else {
437    var n_title = node.data.facetName;
438    // }
439    if (node.data.doc_count) {
440      node.title =
441        n_title + "<span class= 'count'>(" + node.data.doc_count + ")</span>";
442    }
443    return !match || node.title.toLowerCase().indexOf(match.toLowerCase()) > -1;
444  });
445  if (match == "") {
446    jQuery(this)
447      .closest(".fancytree-holder")
448      .find(".input-group-button .fancytree-reset")
449      .hide();
450    // Visit all nodes and collapse them
451    tree.visit(function (node) {
452      node.setExpanded(false);
453    });
454  } else {
455    jQuery(this)
456      .closest(".fancytree-holder")
457      .find(".input-group-button .fancytree-reset")
458      .show();
459  }
460});
461//empty search box on click of reset button and show all industries
462jQuery(document).on("click", ".fancytree-reset", function (e) {
463  var fancytree_id = jQuery(this)
464    .closest(".fancytree-holder")
465    .find(".fancytree-view")
466    .attr("id");
467  var tree = jQuery.ui.fancytree.getTree("#" + fancytree_id);
468  jQuery(this)
469    .closest(".fancytree-holder")
470    .find(".fancytree-search")
471    .val("")
472    .change();
473  tree.clearFilter();
474  jQuery(this).css("display", "none");
475});
476
477// Search query with existing params
478jQuery("form#solr_facet").submit(function (e) {
479  // jQuery.blockUI();
480  // document.querySelector('.overlay').style.display = 'block';
481  e.preventDefault();
482  var arr = window.location.href.split("&").slice(1).join("&");
483  if (arr) {
484    arr = "&" + arr;
485  } else {
486    arr = "";
487  }
488  var url = window.location.href;
489  var searchdata = jQuery("#main_search_field").val();
490  if (searchdata && url.includes("title=true")) {
491    window.location.href =
492      "/store/?s=" + encodeURIComponent(searchdata) + "&title=true";
493  } else if (searchdata) {
494    window.location.href = "/store/?s=" + encodeURIComponent(searchdata);
495  } else {
496    window.location.href = "/store/?s=" + arr;
497  }
498});
499
500// Grid and List View
501jQuery("#DDPMenupg-ddp-view li a").click(function (e) {
502  var view = jQuery(this).attr("id");
503  jQuery("#DDPMenupg-ddp-view").attr("sel-view", view);
504  if (view == "grid-view-search") {
505    jQuery(".cell1").hide();
506    jQuery(".grid-only").show();
507    jQuery(".list-result-title").hide();
508    jQuery(".grid-result-title").show();
509    jQuery(".search-results-container ul").addClass(
510      "row-up rule row-medium-up-2 fixed grid-view",
511    );
512    jQuery(".search-results-container ul .cell1")
513      .removeClass("medium-3")
514      .addClass("medium-12");
515    jQuery(".search-results-container ul .cell2")
516      .removeClass("medium-9")
517      .addClass("medium-12");
518  } else {
519    jQuery(".cell1").show();
520    jQuery(".grid-only").hide();
521    jQuery(".grid-result-title").hide();
522    jQuery(".list-result-title").show();
523    jQuery(".search-results-container ul").removeClass(
524      "row-up rule row-medium-up-2 fixed grid-view",
525    );
526    jQuery(".search-results-container ul .cell1")
527      .addClass("medium-3")
528      .removeClass("medium-12");
529    jQuery(".search-results-container ul .cell2")
530      .addClass("medium-9")
531      .removeClass("medium-12");
532  }
533});
534
535// Update refinemenets selection after ajax
536function add_refinements() {
537  console.log("add_refinements");
538  lazyImg();
539  setTimeout(function () {
540    if (jQuery(".refinements-count span").text() == 0) {
541      jQuery(".refinements-count").hide();
542    }
543  }, 10);
544  const urlParams = new URLSearchParams(window.location.search);
545  const facetValues = {};
546  jQuery("#SearchBar").show();
547  jQuery(".refine-option").show();
548  jQuery(".refinements-count").show();
549  var sum = 1;
550  urlParams.forEach((value, key) => {
551    if (key.includes("selected_facets")) {
552      const facetParts = value.split(":");
553      const facetType = facetParts[0];
554      const facetValue = facetParts[1];
555      if (!facetValues[facetType]) {
556        facetValues[facetType] = [];
557      }
558      facetValues[facetType].push({
559        facetValue,
560      });
561    }
562  });
563  console.log("fecet are doing:" + facetValues);
564  jQuery.each(facetValues, function (index, item) {
565    jQuery("." + index + "-span").empty();
566    jQuery(".refinements-count span").text();
567    jQuery.each(item, function (idx, it) {
568      var node_name = it.facetValue;
569      jQuery("." + index + "-name").show();
570      if (index == "_price_f") {
571        var face_name = "jQuery" + it.facetValue.replace("-", " - jQuery");
572        jQuery("." + index + "-span").append(
573          '<a class="button option"><span>' +
574            face_name +
575            '</span><i class="gd-ico gd-close" data-title="' +
576            it.facetValue +
577            '" data-industry="' +
578            index +
579            '" onclick="remove_refinements(\'' +
580            index +
581            "', '" +
582            node_name +
583            "')\"></i></a>",
584        );
585      } else if (index == "publication_date_str") {
586        console.log(it);
587        var face_name = jQuery("[data-os-facet-data='" + it.facetValue + "']")
588          .find(".fancytree-node .fancytree-title")
589          .text();
590        jQuery("." + index + "-span").append(
591          '<a class="button option"><span>' +
592            face_name +
593            '</span><i class="gd-ico gd-close" data-title="' +
594            it.facetValue +
595            '" data-industry="' +
596            index +
597            '" onclick="remove_refinements(\'' +
598            index +
599            "', '" +
600            node_name +
601            "')\"></i></a>",
602        );
603      } else {
604        jQuery("." + index + "-span").append(
605          '<a class="button option"><span>' +
606            it.facetValue +
607            '</span><i class="gd-ico gd-close" data-title="' +
608            it.facetValue +
609            '" data-industry="' +
610            index +
611            '" onclick="remove_refinements(\'' +
612            index +
613            "', '" +
614            node_name +
615            "')\"></i></a>",
616        );
617      }
618      jQuery(".refinements-count span").text(sum);
619      sum++;
620    });
621  });
622}
623
624// Remove refinements
625function remove_refinements(facetType_r, facetValue_r) {
626  var refines_count = jQuery(".refinements-count span").text();
627  var allKeys = jQuery.map(
628    jQuery("#" + facetType_r + "_fancy")
629      .fancytree("getRootNode")
630      .getChildren(),
631    function (node) {
632      if (facetType_r != "_price_f") {
633        node.setSelected(false);
634        jQuery('[data-title="' + facetValue_r + '"]')
635          .closest("a")
636          .remove();
637        // refines_count = parseInt(refines_count) - 1
638      }
639      return node;
640    },
641  );
642  if (facetType_r == "_price_f") {
643    jQuery.each(allKeys, function (event, data) {
644      data.setSelected(false);
645      if (data.title == "jQuery0-*") {
646        data.setSelected(true);
647        jQuery('[data-title="' + facetValue_r + '"]')
648          .closest("a")
649          .remove();
650        facetValue_r = "jQuery0-*";
651      }
652    });
653  }
654  if (facetType_r == "publication_date_str") {
655    jQuery.each(allKeys, function (event, data) {
656      data.setSelected(false);
657      if (data.title == "All") {
658        data.setSelected(true);
659        jQuery('[data-title="' + facetValue_r + '"]')
660          .closest("a")
661          .remove();
662        facetValue_r = "All";
663      }
664    });
665  }
666  refines_count = parseInt(refines_count) - 1;
667  setTimeout(function () {
668    jQuery(".refinements-count span").text(refines_count);
669    jQuery("#SearchBarRefine span.button").each(function (index) {
670      if (jQuery(this).find("a.button").length == 0) {
671        jQuery(this).hide();
672      }
673    });
674    if (refines_count == 1) {
675      jQuery(".refinements-count")
676        .contents()
677        .filter(function () {
678          return this.nodeType == 3;
679        })
680        .replaceWith(" Refinement");
681    } else {
682      jQuery(".refinements-count")
683        .contents()
684        .filter(function () {
685          return this.nodeType == 3;
686        })
687        .replaceWith(" Refinements");
688    }
689    if (refines_count == 0) {
690      jQuery(".clear_refinements").hide();
691      jQuery(".refinements-count").hide();
692    }
693    console.log("log----------:" + refines_count);
694  }, 500);
695  data_refresh_after_ajax(facetType_r, facetValue_r);
696}
697function data_refresh_after_ajax(industry_type, facet_name) {
698  const url = new URL(location);
699  url.searchParams.set(industry_type, facet_name);
700  var separator = window.location.href.includes("?") ? "&" : "?";
701  if (
702    window.location.href.indexOf(
703      encodeURIComponent(industry_type + ":" + facet_name),
704    ) != -1
705  ) {
706    const urlParams = new URLSearchParams(window.location.search);
707    const url2 = window.location.href;
708    var c_url = window.location.href;
709    for (let key of urlParams.keys()) {
710      if (urlParams.get(key).includes(industry_type)) {
711        //console.log("Key containing 'industry_type': " + key);
712        if (facet_name == "") {
713          const url1 = new URL(decodeURIComponent(window.location.href));
714          const params1 = new URLSearchParams(url1.search);
715          const newParams1 = new URLSearchParams();
716
717          for (const [key, value] of params1) {
718            if (!value.includes(industry_type)) {
719              newParams1.append(key, value);
720            }
721          }
722
723          c_url = `${url1.origin}${url1.pathname}?${newParams1.toString()}`;
724          window.history.replaceState(null, null, c_url);
725        } else if (urlParams.get(key).includes(industry_type)) {
726          var c_url = window.location.href.replace(
727            encodeURIComponent(industry_type + ":" + facet_name),
728            "",
729          );
730
731          // c_url = c_url.replace(encodeURIComponent(key) + '=', '')
732          c_url = c_url.replace(/([?&]selected_facets%5B\d+\%5D)=(&|$)/g, "$2");
733          c_url = c_url.replace(/([&?])(?:&|$)/, "$1").replace(/(\?|&)$/, "");
734          console.log("Updated URL: " + decodeURIComponent(c_url));
735
736          window.history.replaceState(null, null, c_url);
737        }
738      }
739    }
740  } else {
741    var encode_url =
742      encodeURIComponent("selected_facets[" + facet_index + "]") +
743      "=" +
744      encodeURIComponent(industry_type + ":" + facet_name);
745    window.history.replaceState(
746      null,
747      null,
748      window.location.href + separator + encode_url,
749    );
750  }
751  ajax_url_p = page_url = window.location.href;
752
753  ajaxReq(ajax_url_p);
754  facet_index++;
755}

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.