1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
/* <copyright>
This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
</copyright> */
var Montage = require("montage").Montage,
Component = require("ui/component").Component;
//Notifier = require("ui/popup/notifier.reel").Notifier;
exports.FeedReader = Montage.create(Component, {
didCreate: {
value: function() {
var self = this;
var apiInit = function() {
console.log('google api initialized');
google.load("feeds", "1", {
callback: function() {
console.log('google feeds api loaded');
self.needsDraw = true;
window.initGoogleAPI = null;
}
});
};
// set up a global function
window.initGoogleAPI = apiInit;
}
},
_feedURL: {value: null},
feedURL: {
get: function() {
return this._feedURL;
},
set: function(value) {
this._feedURL = value;
// execute the search and get the entries
this._fetchFeed();
}
},
entries: {value: null},
_startLoading: {
value: function() {
//Notifier.show('Loading ... please wait', null, {top: this.element.style.top, left: this.element.style.left + 20});
}
},
_stopLoading: {
value: function() {
//Notifier.hide();
}
},
_fetchFeed: {
value: function() {
var url = this.feedURL;
var feed = new google.feeds.Feed(url);
feed.setNumEntries(10);
var self = this;
this._startLoading();
self.entries = [];
feed.load(function(result) {
self._stopLoading();
if(result.error) {
self.entries = [];
} else {
//console.log('entries: ', result.feed.entries);
self.entries = result.feed.entries;
}
});
}
}
});
|