PageSourceSearch

https://www.trevi.it/BreadcrumbObj.js

js trevi.it collected 2026-09-25 20:06:50 UTC 4,195 bytes, 112 lines download raw bytes

1//Breadcrumb version 1.3
2//Author:Daniele Baldi
3
4ZtVWeb.BreadcrumbCtrl=function(form,id,name,x,y,w,h,label,font,font_size,font_weight,font_color,root_label,root_link,node_link,target,img_separator,max_items,class_Css,receiver_name,anchor,output_server,fields,data){
5  this.name=name;
6  this.id=id;
7  this.form=form;
8  this.label=label;
9  this.font=font;
10  this.font_weight=font_weight;
11  this.font_size=font_size;
12  this.font_color=font_color;
13  this.root_label=root_label;
14  this.root_link=root_link;
15  this.node_link=node_link;
16  this.target=target;
17  this.img_separator=img_separator;
18  this.max_items=max_items;
19  this.class_Css=class_Css;
20  this.receiver_name=receiver_name;
21  this.Ctrl = document.getElementById(this.id);  // Riferimento al controllo
22  this.setCtrlPos(this.Ctrl,x,y,w,h,anchor,this.form.width,this.form.height);
23  this.addToForm(this.form,this);
24  //Setto gli stile del breadcrumb
25  if(!Empty(this.class_Css))this.Ctrl.className=this.class_Css;
26  if(!Empty(this.font)) this.Ctrl.style.fontFamily=this.font;
27  if(!Empty(this.font_size)) this.Ctrl.style.fontSize=font_size;
28  if(!Empty(this.font_color)) this.Ctrl.style.color=this.font_color;
29  if(!Empty(this.font_weight)) this.Ctrl.style.fontWeight=this.font_weight;
30
31  //Nodi da visualizzare
32  this.viewNodes;
33  
34  //Nodi in formato json
35  this.jsonNodes=null;
36
37
38  this.FillData=function(JSONObj){
39	if(typeof(JSONObj)!="undefined"){
40	        //N.B. Ad oggi รจ gestito l'array json dei soli dati non quello dei fields.
41		this.viewNodes=JSONObj.Data;
42		if(!Empty(this.viewNodes))
43			this.view();
44	}
45  }
46  
47  this.formatJSON=function(pNode){
48	var json="";
49	for(var j=0;j<pNode.length;j++){
50		if(typeof(pNode[j])!="undefined"){
51			json+='"'+pNode[j]+'"';
52			if(j!=2)
53				json+=',';
54		}
55	}
56	json="["+json+"]";
57	this.jsonNodes.push(json);
58  }
59  
60  this.view=function(level){
61	var src="";
62	var separator="";
63	var label="";
64	var link="";
65	if(this.viewNodes){
66		if(typeof(level)=='undefined')
67			level=this.viewNodes.length;
68		if(!Empty(this.img_separator)){
69			separator="<img src='"+this.img_separator+"' hspace=3>";
70		}
71		else{
72			separator="&nbsp;&nbsp;>&nbsp;&nbsp;"
73		}
74		if(!Empty(this.label)){
75			var className="";
76			var fontStyle="";
77			if(!Empty(class_Css))
78				className = " class='" + class_Css + "'";
79			var fontsize=Empty(this.font_size)?'':this.font_size;
80			fontStyle = "font-family:" + this.font + ";font-size:" + fontsize+ ";color:" + this.font_color + ";font-weight:" + this.font_weight + ";";
81			src+="<span id=labelBreadcrumb" + className + " style='" + fontStyle + "'>"+this.label+"&nbsp;&nbsp;</span>";
82		}
83		if(!Empty(this.root_label)){
84			var node=(!Empty(this.root_link)&&level!=0)?("<a onclick='"+this.form.formid+"."+this.name+".view("+(0)+")' href='"+this.root_link+"' target='"+this.target+"'>"+this.root_label+"</a>"):"<span>"+this.root_label+"</span>";
85			src+=node+(level!=0?separator:'');		
86		}
87		var start= level-this.max_items;
88		if(start<=0||this.max_items==0)
89			start=0;
90		else
91			src+="..."+separator;
92		//Creo vettore che mantiene il percorso in formato json
93		this.jsonNodes=new Array();
94		for(var i=start;i<level;i++){
95			this.formatJSON(this.viewNodes[i]);
96			label=this.viewNodes[i][1];
97			link=iif(!Empty(this.viewNodes[i][2]&&typeof(this.viewNodes[i][2])!="undefined"),this.viewNodes[i][2],(this.node_link.indexOf("?")>0?this.node_link+"&start_uid="+encodeURI(this.viewNodes[i][0])+"&caption="+this.viewNodes[i][1]+"&bc_JSONPath="+encodeURI(this.jsonNodes):this.node_link+"?start_uid="+encodeURI(this.viewNodes[i][0])+"&caption="+this.viewNodes[i][1]+"&bc_JSONPath="+encodeURI(this.jsonNodes)));
98			src+=(!Empty(this.node_link)&&i!=level-1)?("<a onclick='"+this.form.formid+"."+this.name+".view("+(i+1)+")' href='"+link+"' target='"+this.target+"'>"+label+"</a>"):"<span>"+label+"</span>";
99			if(i!=level-1)
100				src+=separator;
101		}
102	}
103	this.Ctrl.innerHTML=src;
104  }
105  
106  //Inizializzazione con i dati mandati dal server
107  if(typeof(output_server)!="undefined"){
108	this.FillData({Fields: fields, Data: data});
109  }
110  
111}
112ZtVWeb.BreadcrumbCtrl.prototype=new ZtVWeb.StdControl;

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.