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