ginebra2/chrome/bedrockchrome/historyview.superpage/historyview.js
changeset 0 1450b09d0cfd
child 3 0954f5dd2cd0
child 5 0f2326c2a325
equal deleted inserted replaced
-1:000000000000 0:1450b09d0cfd
       
     1 var _prevExpandedUL = null;
       
     2 var _prevExpandedATag;
       
     3 
       
     4 function openHistoryElement(historyURL)
       
     5 {
       
     6     window.views.WebView.showNormalPage();
       
     7 	  window.ViewStack.switchView( "WebView","BookmarkHistoryView");
       
     8       	  
       
     9 		// Laod a page to chrome view
       
    10 		window.views.WebView.loadUrlToCurrentPage(historyURL);
       
    11 	//	views.WebView.gesturesEnabled = true;
       
    12 
       
    13 }
       
    14 
       
    15 function updateHistoryList()
       
    16 {
       
    17 	var snippetId = document.getElementById('HistoryViewId'); 
       
    18 	snippetId.innerHTML = "";
       
    19 	
       
    20 	try
       
    21 		{
       
    22 				//clearHistoryList();
       
    23 				//Get historys data from database
       
    24 				var folderNamesJSN = window.bookmarksManager.getHistoryFoldersJSON();
       
    25 				var folderObjects = eval('(' + folderNamesJSN + ')');
       
    26 				var mainUL = document.createElement('ul');
       
    27 				
       
    28 				mainUL.id =  'folderMenu';
       
    29 				var subUlId;	
       
    30 				for(i=0; i < folderObjects.length; i++)
       
    31 				{
       
    32 					  subUlId = "subUlId_"+i;
       
    33 					  
       
    34 						var mainLI  = document.createElement('li');
       
    35 						var aTag  = document.createElement('a');
       
    36 						var subUL = document.createElement('ul');
       
    37 
       
    38 						// Expand First Item & Hide all the other Items
       
    39 						if(i > 0)
       
    40 						{	
       
    41 								aTag.className = 'closed';
       
    42 								subUL.style.display = 'none';
       
    43 						}
       
    44 						else
       
    45 						{
       
    46 							    aTag.className = 'opened';
       
    47 								subUL.style.display = 'block';
       
    48 								_prevExpandedATag = aTag;
       
    49 								_prevExpandedUL = subUL;
       
    50 						}
       
    51 
       
    52 						aTag.href = "#";
       
    53 						aTag.innerHTML = '<div></div>'+folderObjects[i];
       
    54 						aTag.onclick = eval('( function(){ toggleHistoryFolder(this, "#'+subUlId+'"); } )');
       
    55 
       
    56 
       
    57 						mainLI.appendChild(aTag);
       
    58 
       
    59 						var folderDataJSN = window.bookmarksManager.getHistoryFolderJSON(folderObjects[i]);
       
    60 						var folderDataObject = eval('(' + folderDataJSN + ')');
       
    61 						
       
    62 						subUL.id = subUlId;
       
    63 						
       
    64 						
       
    65 						for(j=0; j<folderDataObject.length; j++)
       
    66 						{
       
    67 							var recenturl = folderDataObject[j].urlVal;
       
    68 							
       
    69 							var recenttitle = folderDataObject[j].titleVal;
       
    70 							var recenttime = folderDataObject[j].dateVal+'<br/>'+folderDataObject[j].timeVal;
       
    71 							
       
    72 							recenturl = recenturl.replace('http://','');
       
    73 							recenturl = recenturl.replace('www.','');
       
    74 							recenturl = recenturl.replace('file:///','');
       
    75 							
       
    76 							//trim the bm title if the number of characters are more than 35.
       
    77 							if(recenttitle.length > 30)
       
    78 							{
       
    79 								recenttitle = recenttitle.substring(0, 30);
       
    80 								recenttitle += '...';
       
    81 							}
       
    82 
       
    83 							if(recenturl.length > 35)
       
    84 							{
       
    85 								recenturl = recenturl.substring(0, 35);
       
    86 								recenturl += '...';
       
    87 							}
       
    88 							
       
    89 							//<img src="'+bmfavicon+'">
       
    90 								var subLI = document.createElement('li');
       
    91 								subLI.innerHTML = '<a href="#" onclick="openHistoryElement(\''+folderDataObject[j].urlVal+'\');">'+
       
    92 																	'<div class="HitsoryElement">'+
       
    93 																	'<span class="aTime">'+recenttime+'</span>'+
       
    94 																	'<span class="aTitle">'+recenttitle+'</span>'+
       
    95 																	'<br/>'+
       
    96 																	'<span class="aUrl">'+recenturl+'</span></div>';
       
    97 								subUL.appendChild(subLI);
       
    98 						}
       
    99 						
       
   100 						mainLI.appendChild(subUL);
       
   101 						mainUL.appendChild(mainLI);
       
   102 						
       
   103 				}
       
   104 				var snippetId = document.getElementById('HistoryViewId'); 
       
   105 				snippetId.innerHTML = "";
       
   106 				snippetId.appendChild(mainUL);
       
   107 
       
   108 		} catch(E) { alert(E); }
       
   109 
       
   110 }
       
   111 
       
   112 function toggleHistoryFolder(aTag, subUlId){
       
   113 	try{
       
   114 	    aTag.className = (aTag.className == 'opened') ? 'closed' : 'opened';
       
   115       $(subUlId).toggle();
       
   116       //$(subUlId).toggle("blind", {}, 175);
       
   117       
       
   118       if(_prevExpandedUL != null && _prevExpandedUL != subUlId && _prevExpandedATag.className == 'opened'){
       
   119 		    collapseFolder(_prevExpandedATag,_prevExpandedUL);
       
   120 	    }
       
   121 	    _prevExpandedUL   = subUlId;  
       
   122 	    _prevExpandedATag = aTag;
       
   123   
       
   124 	}  catch(E) { alert(E); }
       
   125 }
       
   126 
       
   127 function collapseFolder(aTag,subUlId)
       
   128 {
       
   129 try{
       
   130 	    aTag.className = (aTag.className == 'opened') ? 'closed' : 'opened';
       
   131       //$(subUlId).toggle("blind", {}, 175);
       
   132       $(subUlId).toggle();
       
   133       
       
   134     }  catch(E) { alert(E); }
       
   135 }