|
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 } |