PageSourceSearch

https://www.inail.it/etc.clientlibs/alma-inail-hub-foundation/clie…-a7bd5b1effa48a0ba02f6f15e38b325a-lc.min.js

js inail.it collected 2026-10-01 08:45:15 UTC 3,984 bytes, 131 lines download raw bytes

1window.onload = function getFiltersByUrl() {
2
3    let url = new URL(window.location.href);
4
5    let parameters = new URLSearchParams(url.search);
6
7    let searchParams = new URLSearchParams();
8
9    let tagMap = new URLSearchParams();
10    let noTagMap = new URLSearchParams();
11 
12    if(parameters && parameters.toString().includes("corr=true")){
13    for(let [key,value] of parameters.entries()){
14      if(key.includes("territorio-corr") || key.includes("argomento-corr") || key.includes("keywords-corr") || key.includes("target-corr") || value=="true"){
15        tagMap.append(key,value);
16      }
17      else{
18        noTagMap.append(key,value);
19      }
20    }  
21    }
22
23  //   if(parameters!=null){
24  //   for(let [key,value] of parameters.entries()){
25  //       if(!key.includes('text') && !key.includes('startDate') && !key.includes('endDate') && !value.includes()){
26  //           searchParams.append(key,value);
27  //       }
28  //   }
29  // }
30    let tagMapSize = Array.from(tagMap.entries()).length;
31    console.log("NUMERO PARAMETRI RICERCA: " + tagMapSize)
32
33    if( url.search.includes("corr=true"))
34      {
35            document.getElementById("boxTags").classList.remove("hide--boxFiltri");
36            console.log("PARAMETRI: " + tagMap)
37      }
38    
39    //aggiungere controllo per esistenza di soli searchParams non tag e non farli cancellare al click della X
40    //controllo per esistenza di entrambi i searchParams e cancellazione di quelli tag
41
42    function formatString(str) {
43      let excludedWords = ['e'];
44      let formattedStr = str.toLowerCase();
45  
46      if (formattedStr.includes('/')) {
47        let parts = formattedStr.split('/');
48        formattedStr = parts[parts.length - 1].trim();
49      }
50  
51      formattedStr = formattedStr.replace(/-/g, ' ');
52  
53      formattedStr = formattedStr
54        .split(' ')
55        .map((word, index) => {
56          if (index === 0 || !excludedWords.includes(word)) {
57            return word.charAt(0).toUpperCase() + word.slice(1);
58          } else {
59            return word;
60          }
61        })
62        .join(' ');
63  
64      return formattedStr;
65    }
66  
67    let paramValues = {};
68
69    for (let [param, value] of tagMap) {
70      if (param !== 'page' && param !== 'corr') {
71        let values = value.split(',');
72        let formattedParam = param.charAt(0).toUpperCase() + param.slice(1).replace(/-/g, ' ');
73        paramValues[formattedParam] = values;
74      }
75    }
76
77    let boxTags = document.getElementById("boxTags")
78    let tagsDiv = document.getElementById('tags');
79    let content = document.createElement('p');
80  
81    let removeTag = document.createElement('a');
82    removeTag.setAttribute('title', 'Rimuovi tutti i filtri');
83    removeTag.setAttribute('href', '');
84    removeTag.classList.add('pulisciTag')
85    removeTag.setAttribute('data-toggle', 'modal');
86    removeTag.setAttribute('data-target', '#exampleModal');
87    removeTag.innerText = '(X)';
88
89    if(document.getElementById("save")){
90      let removeSave = document.getElementById("save")
91      removeSave.addEventListener('click', function(event) {
92            
93          boxTags.classList.add('hide--boxFiltri'); 
94
95          event.preventDefault();
96
97          console.log("NO TAG PARAMETERS: " + noTagMap);
98
99          window.location.search = noTagMap;  
100          
101      });
102    }
103      
104  
105    let strong = document.createElement('strong');
106    strong.innerText = 'Contenuti correlati per: ';
107    content.appendChild(strong);
108  
109    let allValues = [];
110    for (let param in paramValues) {
111      let values = paramValues[param];
112      for (let value of values) {
113        let formattedValue = formatString(value.replace(/-/g, ' '));
114        allValues.push(formattedValue);
115      }
116    }
117    
118    if (allValues.length > 0) {
119      let p = document.createElement('span');
120      p.innerText = allValues.join(', ');
121      content.appendChild(p);
122    }
123  
124    if(tagsDiv){
125    tagsDiv.appendChild(content);
126    } 
127
128    content.appendChild(removeTag);
129
130  };
131  

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.