aboutsummaryrefslogtreecommitdiff
path: root/node_modules/montage/ui/feed-reader/feed-reader.reel
diff options
context:
space:
mode:
authorValerio Virgillito2012-05-16 01:00:22 -0700
committerValerio Virgillito2012-05-16 01:00:22 -0700
commitf9f8fdc3000042ba5b4504d91870dc9a32ef25eb (patch)
tree606f22568ad2be0f7aed266a4d20de576f44002f /node_modules/montage/ui/feed-reader/feed-reader.reel
parenta9672abd32c2e03b8607c1af4903c90f7ff9531c (diff)
downloadninja-f9f8fdc3000042ba5b4504d91870dc9a32ef25eb.tar.gz
Squashed master into dom-architecture
Signed-off-by: Valerio Virgillito <valerio@motorola.com>
Diffstat (limited to 'node_modules/montage/ui/feed-reader/feed-reader.reel')
-rw-r--r--node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.html79
-rw-r--r--node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.js180
2 files changed, 0 insertions, 259 deletions
diff --git a/node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.html b/node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.html
deleted file mode 100644
index 56523984..00000000
--- a/node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.html
+++ /dev/null
@@ -1,79 +0,0 @@
1<!DOCTYPE html>
2<html>
3<head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <title>Feed Reader</title>
6
7 <script type="text/javascript" src="https://www.google.com/jsapi?callback=initGoogleAPI"></script>
8
9 <script type="text/montage-serialization">
10{
11 "entriesController": {
12 "name": "ArrayController",
13 "module": "montage/ui/controller/array-controller",
14 "properties": {
15 "selectObjectsOnAddition": true,
16 "automaticallyOrganizeObjects": true
17 },
18 "bindings": {
19 "content": {
20 "boundObject": {"@": "owner"},
21 "boundObjectPropertyPath": "entries",
22 "oneway": true
23 }
24 }
25 },
26
27 "feedEntry": {
28 "module": "montage/ui/feed-reader/feed-entry.reel",
29 "name": "FeedEntry",
30 "properties": {
31 "element": {"#": "feed-entry"}
32 },
33 "bindings": {
34 "entry": {
35 "boundObject": {"@": "owner"},
36 "boundObjectPropertyPath": "activeFeedEntry",
37 "oneway": true
38 }
39 }
40 },
41
42 "owner": {
43 "module": "montage/ui/feed-reader/feed-reader.reel",
44 "name": "FeedReader",
45 "properties": {
46 "element": {"#": "feed-reader"}
47 }
48 }
49
50}
51 </script>
52
53 <style>
54 div.feed-reader {
55 /*padding: 2px;*/
56 height: 120px;
57 width: 380px;
58 }
59
60 .feed-entry {
61 }
62
63
64 </style>
65
66
67</head>
68<body>
69 <div class="feed-reader" id="feed-reader">
70
71 <div id="entries">
72 <div class="feed-entry" id="feed-entry"></div>
73 </div>
74
75
76 </div>
77
78</body>
79</html>
diff --git a/node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.js b/node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.js
deleted file mode 100644
index cc652417..00000000
--- a/node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.js
+++ /dev/null
@@ -1,180 +0,0 @@
1/* <copyright>
2 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3 No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4 (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5 </copyright> */
6var Montage = require("montage").Montage,
7 Component = require("ui/component").Component;
8 //Notifier = require("ui/popup/notifier.reel").Notifier;
9
10exports.FeedReader = Montage.create(Component, {
11
12 didCreate: {
13 value: function() {
14 var self = this;
15 var apiInit = function() {
16 console.log('google api initialized');
17
18 google.load("feeds", "1", {
19 callback: function() {
20 console.log('google feeds api loaded');
21 self.needsDraw = true;
22 window.initGoogleAPI = null;
23 }
24 });
25 };
26
27 // set up a global function
28 window.initGoogleAPI = apiInit;
29 }
30 },
31
32 _feedURL: {value: null},
33 feedURL: {
34 get: function() {
35 return this._feedURL;
36 },
37 set: function(value) {
38 this._feedURL = value;
39 // execute the search and get the entries
40 this._fetchFeed();
41 }
42 },
43
44 // time in ms between slides
45 interval: {value: 3, distinct: true},
46
47 maxEntries: {value: 10, distinct: true},
48
49 entries: {value: null},
50
51 _feedDisplayMode: {value: null},
52 feedDisplayMode: {
53 get: function() {
54 return this._feedDisplayMode;
55 },
56 set: function(value) {
57
58 this.removeEntryAnimation();
59 this._feedDisplayMode = value;
60
61 this.addEntryAnimation();
62 }
63 },
64
65
66 feedEntryTimer: {enumerable: false, value: null},
67
68
69 activeFeedEntry: {value: null},
70 _activeIndex: {value: null},
71 activeIndex: {
72 get: function() {
73 return this._activeIndex || 0;
74 },
75 set: function(index) {
76 if(this.entries) {
77 var max = this.entries.length-1;
78 if(index > max) {
79 index = 0;
80 }
81 if(index < 0) {
82 index = 0;
83 }
84 this._activeIndex = index;
85 this.activeFeedEntry = this.entries[this._activeIndex];
86 } else {
87 this._activeIndex = 0;
88 }
89 }
90 },
91
92 _fetchFeed: {
93 value: function() {
94
95 var url = this.feedURL;
96 var feed = new google.feeds.Feed(url);
97 feed.setNumEntries(10);
98
99 var self = this;
100 self.entries = [];
101
102 feed.load(function(result) {
103 self.removeEntryAnimation();
104 if(result.error) {
105 self.entries = [];
106 } else {
107 //console.log('entries: ', result.feed.entries);
108 self.addEntryAnimation();
109 self.entries = result.feed.entries;
110 self.activeIndex = 0;
111
112 }
113
114
115 });
116 }
117 },
118
119 addEntryAnimation: {
120 value: function() {
121 var self = this;
122 if("animation" == this.feedDisplayMode) {
123 this.element.addEventListener('webkitAnimationStart', this);