annotate ambnews/content/blank.js @ 6:ec86d1e59d44

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