Mercurial > ambnews-firefox
annotate ambnews/content/blank.js @ 7:1ae3899f35a3
Incremented version number.
| author | Atul Varma <varmaa@toolness.com> |
|---|---|
| date | Thu, 21 Aug 2008 18:15:05 -0700 |
| parents | ec86d1e59d44 |
| children | f07bf657f483 |
| rev | line source |
|---|---|
| 1 | 1 function loadNews() { |
| 2 var Cc = Components.classes; | |
| 3 var Ci = Components.interfaces; | |
| 4 var historyService = Cc["@mozilla.org/browser/nav-history-service;1"] | |
| 5 .getService(Ci.nsINavHistoryService); | |
| 6 | |
| 7 // no query parameters will get all history | |
| 8 // XXX default sorting is... ? | |
| 9 var options = historyService.getNewQueryOptions(); | |
| 10 | |
| 11 options.resultType = options.RESULTS_AS_URI; | |
| 12 options.sortingMode = options.SORT_BY_VISITCOUNT_DESCENDING; | |
| 13 | |
| 14 // no query parameters will return everything | |
| 15 var query = historyService.getNewQuery(); | |
|
6
ec86d1e59d44
Ummm... Oops. When I converted AmbNews annotations to ambnews annotations, I missed a few.
Atul Varma <varmaa@toolness.com>
parents:
1
diff
changeset
|
16 query.annotation = "ambnews/feed"; |
| 1 | 17 |
| 18 // execute the query | |
| 19 var result = historyService.executeQuery(query, options); | |
| 20 | |
| 21 var root = result.root; | |
| 22 root.containerOpen = true; | |
| 23 | |
| 24 var childNum = 0; | |
| 25 var childrenShown = 0; | |
| 26 var maxChildrenToShow = 20; | |
| 27 var shownFeeds = {}; | |
| 28 | |
| 29 function getNextFeed() { | |
| 30 if (childrenShown == maxChildrenToShow || | |
| 31 childNum == root.childCount) { | |
| 32 root.containerOpen = false; | |
| 33 } else { | |
| 34 var annSvc = AmbNews.__getAnnSvc(); | |
| 35 var child = root.getChild(childNum); | |
| 36 var feedUri = annSvc.getPageAnnotation(AmbNews.url(child.uri), | |
|
6
ec86d1e59d44
Ummm... Oops. When I converted AmbNews annotations to ambnews annotations, I missed a few.
Atul Varma <varmaa@toolness.com>
parents:
1
diff
changeset
|
37 "ambnews/feed"); |
| 1 | 38 childNum++; |
| 39 if (feedUri in shownFeeds) { | |
| 40 getNextFeed(); | |
| 41 } else { | |
| 42 shownFeeds[feedUri] = true; | |
| 43 childrenShown++; | |
| 44 AmbNews.getFeed(feedUri, onFeed); | |
| 45 } | |
| 46 } | |
| 47 } | |
| 48 | |
| 49 function onFeed(feed) { | |
| 50 var text = ""; | |
| 51 if (feed) { | |
| 52 var entriesToShow = 4; | |
| 53 if (feed.entries.length < entriesToShow) | |
| 54 entriesToShow = feed.entries.length; | |
| 55 var feedLink = feed.link ? feed.link.spec : ""; | |
| 56 text += ('<div class="feed"><div class="feed-title"><a ' + | |
| 57 'href="' + feedLink + '">' + | |
| 58 feed.title.text + '</a></div><ul>'); | |
| 59 for (var i = 0; i < entriesToShow; i++) { | |
| 60 var entryTitle = feed.entries[i].title.text; | |
| 61 if (entryTitle.length > 100) { | |
| 62 entryTitle = entryTitle.slice(0, 100) + '\u2026'; | |
| 63 } | |
| 64 text += ('<li class="feed-entry"> \u00b7 <a href="' + | |
| 65 feed.entries[i].link.spec + | |
| 66 '">' + | |
| 67 entryTitle + '</a></li>'); | |
| 68 } | |
| 69 text += '</ul></div>'; | |
| 70 } else | |
| 71 text = "An error occurred."; | |
| 72 //$("#content").append(text); | |
| 73 $(text).hide().fadeIn("slow", getNextFeed).appendTo("#content"); | |
| 74 } | |
| 75 | |
| 76 getNextFeed(); | |
| 77 } | |
| 78 | |
| 79 $(window).ready(loadNews); |
