2 * @class FeedViewer.FeedViewer
3 * @extends Ext.container.Viewport
5 * The main FeedViewer application
8 * Create a new Feed Viewer app
9 * @param {Object} config The config object
11 Ext.define('FeedViewer.App', {
12 extend: 'Ext.container.Viewport',
14 initComponent: function(){
17 extend: 'Ext.data.Model',
18 fields: ['title', 'url']
21 Ext.define('FeedItem', {
22 extend: 'Ext.data.Model',
23 fields: ['title', 'author', {
26 }, 'link', 'description', 'content']
32 items: [this.createFeedPanel(), this.createFeedInfo()]
34 this.callParent(arguments);
38 * Create the list of fields to be shown on the left
40 * @return {FeedViewer.FeedPanel} feedPanel
42 createFeedPanel: function(){
43 this.feedPanel = Ext.create('widget.feedpanel', {
52 url: 'http://feeds.feedburner.com/extblog'
54 title: 'Sencha Forums',
55 url: 'http://sencha.com/forum/external.php?type=RSS2'
58 url: 'http://feeds.feedburner.com/ajaxian'
62 feedselect: this.onFeedSelect
65 return this.feedPanel;
69 * Create the feed info container
71 * @return {FeedViewer.FeedInfo} feedInfo
73 createFeedInfo: function(){
74 this.feedInfo = Ext.create('widget.feedinfo', {
82 * Reacts to a feed being selected
85 onFeedSelect: function(feed, title, url){
86 this.feedInfo.addFeed(title, url);